diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 93b4627..1c630a0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,5 +1,6 @@ +--- name: Release -run-name: Release ${{ github.event.inputs.release_type }} +run-name: Release ${{ inputs.release_type }} on: workflow_dispatch: @@ -22,16 +23,6 @@ jobs: branch-name: ${{ steps.branch.outputs.branch-name }} steps: - - name: Check branch - if: ${{ github.event.inputs.release_type != 'Dry Run' }} - run: | - if [[ "$GITHUB_REF" != "refs/heads/main" ]]; then - echo "===================================" - echo "[!] Can only release from the 'main' branch" - echo "===================================" - exit 1 - fi - - name: Check out repo uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 @@ -39,7 +30,7 @@ jobs: id: version uses: bitwarden/gh-actions/release-version-check@main with: - release-type: ${{ github.event.inputs.release_type }} + release-type: ${{ inputs.release_type }} project-type: dotnet file: Directory.Build.props @@ -51,7 +42,7 @@ jobs: release-github: name: Create GitHub Release - if: ${{ github.event.inputs.release_type != 'Dry Run' }} + if: ${{ inputs.release_type != 'Dry Run' }} runs-on: ubuntu-22.04 needs: setup steps: @@ -76,7 +67,7 @@ jobs: _PROJECT_NAME: key-connector _RELEASE_VERSION: ${{ needs.setup.outputs.release_version }} _BRANCH_NAME: ${{ needs.setup.outputs.branch-name }} - _RELEASE_OPTION: ${{ github.event.inputs.release_type }} + _RELEASE_OPTION: ${{ inputs.release_type }} steps: - name: Log in to Azure @@ -95,33 +86,28 @@ jobs: azure-keyvault-name: "bitwarden-ci" - name: Pull image - run: | - if [[ "${{ github.event.inputs.release_type }}" == "Dry Run" ]]; then - docker pull $_AZ_REGISTRY/$_PROJECT_NAME:dev - else - docker pull $_AZ_REGISTRY/$_PROJECT_NAME:$_BRANCH_NAME - fi + run: docker pull $_AZ_REGISTRY/$_PROJECT_NAME:dev - name: Tag version and latest run: | - if [[ "${{ github.event.inputs.release_type }}" == "Dry Run" ]]; then + if [[ "${{ inputs.release_type }}" == "Dry Run" ]]; then docker tag $_AZ_REGISTRY/$_PROJECT_NAME:dev bitwarden/$_PROJECT_NAME:dryrun else - docker tag $_AZ_REGISTRY/$_PROJECT_NAME:$_BRANCH_NAME $_AZ_REGISTRY/$_PROJECT_NAME:$_RELEASE_VERSION - docker tag $_AZ_REGISTRY/$_PROJECT_NAME:$_BRANCH_NAME $_AZ_REGISTRY/$_PROJECT_NAME:latest + docker tag $_AZ_REGISTRY/$_PROJECT_NAME:dev $_AZ_REGISTRY/$_PROJECT_NAME:$_RELEASE_VERSION + docker tag $_AZ_REGISTRY/$_PROJECT_NAME:dev $_AZ_REGISTRY/$_PROJECT_NAME:latest - docker tag $_AZ_REGISTRY/$_PROJECT_NAME:$_BRANCH_NAME bitwarden/$_PROJECT_NAME:$_RELEASE_VERSION - docker tag $_AZ_REGISTRY/$_PROJECT_NAME:$_BRANCH_NAME bitwarden/$_PROJECT_NAME:latest + docker tag $_AZ_REGISTRY/$_PROJECT_NAME:dev bitwarden/$_PROJECT_NAME:$_RELEASE_VERSION + docker tag $_AZ_REGISTRY/$_PROJECT_NAME:dev bitwarden/$_PROJECT_NAME:latest fi - name: Push release version and latest image to ACR - if: ${{ github.event.inputs.release_type != 'Dry Run' }} + if: ${{ inputs.release_type != 'Dry Run' }} run: | docker push $_AZ_REGISTRY/$_PROJECT_NAME:$_RELEASE_VERSION docker push $_AZ_REGISTRY/$_PROJECT_NAME:latest - name: Push release version and latest image to Docker Hub - if: ${{ github.event.inputs.release_type != 'Dry Run' }} + if: ${{ inputs.release_type != 'Dry Run' }} env: DOCKER_CONTENT_TRUST: 1 DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE: ${{ steps.setup-dct.outputs.dct-delegate-repo-passphrase }} @@ -140,7 +126,6 @@ jobs: - release-docker - release-github - setup - steps: - name: Check if any job failed if: github.ref == 'refs/heads/main' && contains(needs.*.result, 'failure')