diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 962f50b..ac2c2b5 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -6,12 +6,6 @@ on: - dev - main -permissions: - contents: write - id-token: write - deployments: write - pull-requests: write - concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true @@ -20,8 +14,9 @@ jobs: release-please: name: Create release runs-on: ubuntu-latest - outputs: - release_created: ${{ steps.release-please.outputs.release_created }} + permissions: + contents: write + pull-requests: write steps: - name: 🚀 Create Release @@ -34,45 +29,3 @@ jobs: github-app-key: ${{ secrets.UGRC_RELEASE_BOT_APP_KEY }} github-app-name: ${{ secrets.UGRC_RELEASE_BOT_NAME }} github-app-email: ${{ secrets.UGRC_RELEASE_BOT_EMAIL }} - - deploy-dev: - name: Deploy to staging - runs-on: ubuntu-latest - needs: release-please - environment: - name: dev - url: https://accessmap.dev.utah.gov - if: github.ref_name == 'dev' && needs.release-please.outputs.release_created - - steps: - - name: 🚀 Deploy - uses: agrc/firebase-website-deploy-composite-action@v1 - with: - identity-provider: ${{ secrets.IDENTITY_PROVIDER }} - service-account-email: ${{ secrets.SERVICE_ACCOUNT_EMAIL }} - project-id: ${{ secrets.PROJECT_ID }} - build-command: npm run build:stage - - deploy-prod: - name: Deploy to production - runs-on: ubuntu-latest - needs: release-please - environment: - name: prod - url: https://accessmap.utah.gov - if: github.ref_name == 'main' && needs.release-please.outputs.release_created - - steps: - - name: 🚀 Deploy - uses: agrc/firebase-website-deploy-composite-action@v1 - with: - identity-provider: ${{ secrets.IDENTITY_PROVIDER }} - service-account-email: ${{ secrets.SERVICE_ACCOUNT_EMAIL }} - project-id: ${{ secrets.PROJECT_ID }} - build-command: npm run build:prod - service-now-instance: ${{ secrets.SN_INSTANCE }} - service-now-table: ${{ secrets.SN_TABLE }} - service-now-system-id: ${{ secrets.SN_SYS_ID }} - service-now-username: ${{ secrets.SN_USERNAME }} - service-now-password: ${{ secrets.SN_PASSWORD }} - repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..e47ed89 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,65 @@ +name: Release Events + +on: + release: + types: [published] + +permissions: + id-token: write + deployments: write + +jobs: + deploy-dev: + name: Deploy to staging + runs-on: ubuntu-latest + if: github.event.release.prerelease == true + environment: + name: dev + url: https://accessmap.dev.utah.gov + + steps: + - name: 🚀 Deploy + uses: agrc/firebase-website-deploy-composite-action@v1 + with: + identity-provider: ${{ secrets.IDENTITY_PROVIDER }} + service-account-email: ${{ secrets.SERVICE_ACCOUNT_EMAIL }} + project-id: ${{ secrets.PROJECT_ID }} + build-command: npm run build:stage + + deploy-prod: + name: Deploy to production + runs-on: ubuntu-latest + if: github.event.release.prerelease == false + environment: + name: prod + url: https://accessmap.utah.gov + + steps: + - name: 🚀 Deploy + uses: agrc/firebase-website-deploy-composite-action@v1 + with: + identity-provider: ${{ secrets.IDENTITY_PROVIDER }} + service-account-email: ${{ secrets.SERVICE_ACCOUNT_EMAIL }} + project-id: ${{ secrets.PROJECT_ID }} + build-command: npm run build:prod + service-now-instance: ${{ secrets.SN_INSTANCE }} + service-now-table: ${{ secrets.SN_TABLE }} + service-now-system-id: ${{ secrets.SN_SYS_ID }} + service-now-username: ${{ secrets.SN_USERNAME }} + service-now-password: ${{ secrets.SN_PASSWORD }} + repo-token: ${{ secrets.GITHUB_TOKEN }} + + notify: + name: Notifications + needs: deploy-prod + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + issues: write + + steps: + - name: Release Notifier + uses: agrc/release-issue-notifications-action@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }}