Bump com.google.firebase:firebase-admin from 9.4.0 to 9.4.1 (#1413) #744
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and deploy | |
on: | |
push: | |
branches: [ master ] | |
defaults: | |
run: | |
working-directory: yona-server | |
concurrency: ${{ github.workflow }} | |
jobs: | |
determine-build-id: | |
name: Determine build ID | |
runs-on: ubuntu-latest | |
outputs: | |
build-id: ${{ steps.set-build-id.outputs.build-id }} | |
steps: | |
- name: Set build ID | |
id: set-build-id | |
working-directory: '${{ env.HELM_REPO }}' | |
run: | | |
build_id=$(($GITHUB_RUN_NUMBER+1500)) | |
echo "build-id=${build_id}" >> $GITHUB_OUTPUT | |
build-check-publish: | |
needs: | |
- determine-build-id | |
uses: ./.github/workflows/build-check-publish.yml | |
with: | |
build-id: ${{ needs.determine-build-id.outputs.build-id }} | |
is-pr-build: false | |
secrets: | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
YONA_BUILD_GITHUB_PAT: ${{ secrets.YONA_BUILD_GITHUB_PAT }} | |
DOCKER_HUB_USER_NAME: ${{ secrets.DOCKER_HUB_USER_NAME }} | |
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }} | |
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} | |
dependency-submission: | |
name: Publish dependencies | |
needs: | |
- build-check-publish | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Checkout src repo | |
uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/[email protected] | |
with: | |
distribution: 'temurin' | |
java-version: 17 | |
- name: Publish Gradle dependencies | |
uses: gradle/actions/dependency-submission@v4 | |
deploy-load-test-server: | |
if: ${{ false }} # Load test server not available anymore | |
name: Deploy load test server | |
environment: load-test | |
runs-on: ubuntu-latest | |
env: | |
KUBECONFIG: /home/bert.roos/.kube/config | |
needs: | |
- determine-build-id | |
- build-check-publish | |
steps: | |
- name: Checkout src repo | |
uses: actions/checkout@v4 | |
- name: Wipe existing database | |
uses: appleboy/[email protected] | |
with: | |
host: ${{ secrets.DEPLOYMENT_HOST }} | |
username: ${{ secrets.DEPLOYMENT_USERNAME }} | |
key: ${{ secrets.DEPLOYMENT_SSH_KEY }} | |
proxy_host: ${{ secrets.PROXY_HOST }} | |
proxy_username: ${{ secrets.PROXY_USERNAME }} | |
proxy_key: ${{ secrets.PROXY_SSH_KEY }} | |
script: | | |
mysql -h ${{ secrets.BETA_DB_IP_ADDRESS }} -u ${{ secrets.BETA_DB_USERNAME }} -p${{ secrets.BETA_DB_PASSWORD }} -e "DROP DATABASE loadtest; CREATE DATABASE loadtest;" | |
- name: Deploy Yona | |
uses: ./.github/workflows/actions/deploy | |
with: | |
host-name: ${{ secrets.DEPLOYMENT_HOST }} | |
ssh-user-name: ${{ secrets.DEPLOYMENT_USERNAME }} | |
ssh-key: ${{ secrets.DEPLOYMENT_SSH_KEY }} | |
proxy-host-name: ${{ secrets.PROXY_HOST }} | |
proxy-ssh-user-name: ${{ secrets.PROXY_USERNAME }} | |
proxy-ssh-key: ${{ secrets.PROXY_SSH_KEY }} | |
kube-config: ${{ env.KUBECONFIG }} | |
kube-context: beta | |
kube-namespace: loadtest | |
helm-release: loadtest | |
build-id: ${{ needs.determine-build-id.outputs.build-id }} | |
repo-number: 2 | |
helm-values-path: helm/values_loadtest.yaml | |
gitlab-token: ${{ secrets.YONA_BUILD_GITLAB_TOKEN }} | |
- name: Notify failure through Slack | |
if: failure() | |
uses: slackapi/[email protected] | |
with: | |
channel-id: '#devops' | |
slack-message: "Load test deployment for build ${{ needs.determine-build-id.outputs.build-id }} failed. See https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} | |
deploy-beta-test-server: | |
if: ${{ false }} # Beta test server not available anymore | |
name: Deploy beta test server | |
environment: beta-test | |
runs-on: ubuntu-latest | |
env: | |
KUBECONFIG: /home/bert.roos/.kube/config | |
needs: | |
- determine-build-id | |
- build-check-publish | |
- deploy-load-test-server | |
steps: | |
- name: Checkout src repo | |
uses: actions/checkout@v4 | |
- name: Deploy Yona | |
uses: ./.github/workflows/actions/deploy | |
with: | |
host-name: ${{ secrets.DEPLOYMENT_HOST }} | |
ssh-user-name: ${{ secrets.DEPLOYMENT_USERNAME }} | |
ssh-key: ${{ secrets.DEPLOYMENT_SSH_KEY }} | |
proxy-host-name: ${{ secrets.PROXY_HOST }} | |
proxy-ssh-user-name: ${{ secrets.PROXY_USERNAME }} | |
proxy-ssh-key: ${{ secrets.PROXY_SSH_KEY }} | |
kube-config: ${{ env.KUBECONFIG }} | |
kube-context: beta | |
build-id: ${{ needs.determine-build-id.outputs.build-id }} | |
repo-number: 2 | |
helm-values-path: helm/values.yaml | |
gitlab-token: ${{ secrets.YONA_BUILD_GITLAB_TOKEN }} | |
- name: Notify deployment status through Slack | |
uses: slackapi/[email protected] | |
with: | |
channel-id: '#devops' | |
slack-message: "Build ${{ needs.determine-build-id.outputs.build-id }} ready to deploy to production" | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} | |
- name: Notify failure through Slack | |
if: failure() | |
uses: slackapi/[email protected] | |
with: | |
channel-id: '#devops' | |
slack-message: "Beta test deployment for build ${{ needs.determine-build-id.outputs.build-id }} failed. See https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} | |
deploy-prod-server: | |
if: ${{ false }} # Production server not available anymore | |
name: Deploy production server | |
environment: prod | |
runs-on: ubuntu-latest | |
env: | |
KUBECONFIG: /home/bert.roos/.kube/config | |
needs: | |
- determine-build-id | |
- build-check-publish | |
- deploy-beta-test-server | |
steps: | |
- name: Checkout src repo | |
uses: actions/checkout@v4 | |
- name: Deploy Yona | |
uses: ./.github/workflows/actions/deploy | |
with: | |
host-name: ${{ secrets.DEPLOYMENT_HOST }} | |
ssh-user-name: ${{ secrets.DEPLOYMENT_USERNAME }} | |
ssh-key: ${{ secrets.DEPLOYMENT_SSH_KEY }} | |
proxy-host-name: ${{ secrets.PROXY_HOST }} | |
proxy-ssh-user-name: ${{ secrets.PROXY_USERNAME }} | |
proxy-ssh-key: ${{ secrets.PROXY_SSH_KEY }} | |
kube-config: ${{ env.KUBECONFIG }} | |
kube-context: prod | |
build-id: ${{ needs.determine-build-id.outputs.build-id }} | |
repo-number: 1 | |
helm-values-path: helm/values.yaml | |
gitlab-token: ${{ secrets.YONA_BUILD_GITLAB_TOKEN }} | |
- name: Notify deployment success through Slack | |
uses: slackapi/[email protected] | |
with: | |
channel-id: '#devops' | |
slack-message: "Build ${{ needs.determine-build-id.outputs.build-id }} successfully deployed to production" | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} | |
- name: Notify failure through Slack | |
if: failure() | |
uses: slackapi/[email protected] | |
with: | |
channel-id: '#devops' | |
slack-message: "Production deployment for build ${{ needs.determine-build-id.outputs.build-id }} failed. See https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} |