diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ca5abb5..493b4d6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -92,98 +92,27 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} - publish: - name: "Publish package" - needs: [preconditions, static-checks, tests, check-version] + publish-npm: + name: 'Publish package to NPMJS' + needs: + - static-checks + - test + - check-version runs-on: ubuntu-latest if: ${{ needs.check-version.outputs.is_new_version == 'true' }} steps: - uses: actions/checkout@v4 - - # Docker build - - name: Setup QEMU - uses: docker/setup-qemu-action@v3 - with: - platforms: all - - name: Setup Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v3 + - uses: actions/setup-node@v4 with: - buildkitd-flags: "--debug" - - name: Generate tags - id: generate-tags + node-version: '20.x' + registry-url: 'https://registry.npmjs.org' + scope: '@digicatapult' + - name: Install Packages + run: npm ci + - name: Build + run: npm run build + - name: Publish to npmjs packages + run: npm publish --access public env: - VERSION: ${{ needs.check-version.outputs.version }} - IS_NEW_VERSION: ${{ needs.check-version.outputs.is_new_version }} - IS_PRERELEASE: ${{ needs.check-version.outputs.is_prerelease }} - # if it's a new non prerelease version tag with hash, version latest-dev and latest - # if it's a new prerelease version tag with hash, version and latest-dev - # if it's a non new version tag with hash and latest-dev - run: | - if [ "$IS_NEW_VERSION" == "true" ]; then - echo "GHCR_VERSION_TAG=ghcr.io/${{ needs.preconditions.outputs.org_name }}/${{ needs.preconditions.outputs.repo_name }}:$VERSION" >> $GITHUB_OUTPUT - echo "DOCKERHUB_VERSION_TAG=${{ needs.preconditions.outputs.org_name }}/${{ needs.preconditions.outputs.repo_name }}:$VERSION" >> $GITHUB_OUTPUT - if [ "$IS_PRERELEASE" == "false" ]; then - echo "GHCR_LATEST_TAG=ghcr.io/${{ needs.preconditions.outputs.org_name }}/${{ needs.preconditions.outputs.repo_name }}:latest" >> $GITHUB_OUTPUT - echo "DOCKERHUB_LATEST_TAG=${{ needs.preconditions.outputs.org_name }}/${{ needs.preconditions.outputs.repo_name }}:latest" >> $GITHUB_OUTPUT - else - echo "GHCR_LATEST_TAG=" >> $GITHUB_OUTPUT - echo "DOCKERHUB_LATEST_TAG=" >> $GITHUB_OUTPUT - fi; - else - echo "GHCR_VERSION_TAG=" >> $GITHUB_OUTPUT - echo "GHCR_LATEST_TAG=" >> $GITHUB_OUTPUT - echo "DOCKERHUB_VERSION_TAG=" >> $GITHUB_OUTPUT - echo "DOCKERHUB_LATEST_TAG=" >> $GITHUB_OUTPUT - fi; - - name: Login to GitHub Container Registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Login to Dockerhub Registry - uses: docker/login-action@v3 - with: - username: ${{ secrets.SQNC_DOCKERHUB_USERNAME }} - password: ${{ secrets.SQNC_DOCKERHUB_TOKEN }} - - name: Build image - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: . - file: ./Dockerfile - platforms: linux/amd64, linux/arm64 - push: true - tags: | - ghcr.io/${{ needs.preconditions.outputs.org_name }}/${{ needs.preconditions.outputs.repo_name }}:${{ github.sha }} - ${{ steps.generate-tags.outputs.GHCR_VERSION_TAG }} - ${{ steps.generate-tags.outputs.GHCR_LATEST_TAG }} - ${{ needs.preconditions.outputs.org_name }}/${{ needs.preconditions.outputs.repo_name }}:${{ github.sha }} - ${{ steps.generate-tags.outputs.DOCKERHUB_VERSION_TAG }} - ${{ steps.generate-tags.outputs.DOCKERHUB_LATEST_TAG }} - labels: | - org.opencontainers.image.title=${{ needs.preconditions.outputs.repo_name }} - org.opencontainers.image.description=${{ github.event.repository.description }} - org.opencontainers.image.source=${{ github.event.repository.html_url }} - org.opencontainers.image.url=${{ github.event.repository.html_url }} - org.opencontainers.image.revision=${{ github.sha }} - org.opencontainers.image.version=${{ needs.check-version.outputs.version }} - org.opencontainers.image.created=${{ needs.check-version.outputs.build_date }} - - # Build github release - - name: Build release version - uses: "marvinpinto/action-automatic-releases@latest" - with: - repo_token: "${{ secrets.GITHUB_TOKEN }}" - automatic_release_tag: ${{ needs.check-version.outputs.version }} - prerelease: false - title: Release ${{ needs.check-version.outputs.version }} - - name: Build release latest - uses: "marvinpinto/action-automatic-releases@latest" - with: - repo_token: "${{ secrets.GITHUB_TOKEN }}" - automatic_release_tag: latest - prerelease: false - title: Latest Release ${{ needs.check-version.outputs.version }} + NODE_AUTH_TOKEN: ${{ secrets.NPMJS_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 906f1b0..d6ba78f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -79,26 +79,3 @@ jobs: uses: digicatapult/check-version@v1 with: token: ${{ secrets.GITHUB_TOKEN }} - - build-docker: - name: "Build docker image" - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Setup QEMU - uses: docker/setup-qemu-action@v3 - with: - platforms: all - - name: Setup Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - buildkitd-flags: "--debug" - - name: Build image - uses: docker/build-push-action@v5 - with: - builder: ${{ steps.buildx.outputs.name }} - context: . - file: ./Dockerfile - platforms: linux/amd64, linux/arm64 - push: false