Merge remote-tracking branch 'fix/master' #1
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: DEPLOY_Dev_tiemoff | |
on: | |
workflow_dispatch: | |
push: | |
branches: ["**"] | |
paths: | |
- .github/workflows/deploy-dev-timeoff.yaml | |
- bin/** | |
- config/** | |
- helm-tiemoff/** | |
- lib/** | |
- migrations/** | |
- public/** | |
- scss/** | |
- helm-tiemoff/** | |
- views/** | |
env: | |
PROJECT_ID: big-liberty-373120 | |
DOCKER_IMAGE: timeoff | |
CLUSTER_NAME: gke-timeoff-big-liberty-373120 | |
CLUSTER_LOCATION: us-central1 | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Downloading code | |
uses: actions/checkout@v3 | |
- name: Installing node dependencies | |
run: npm install | |
- name: Running tests | |
# Uncomment the next line to run tests, letting this commented for time execution reason | |
#run: npm test | |
run: echo "Dummy execution of tests" | |
build: | |
needs: test | |
runs-on: ubuntu-latest | |
permissions: | |
contents: 'read' | |
id-token: 'write' | |
actions: 'read' | |
steps: | |
- name: Downloading code | |
uses: actions/checkout@v3 | |
- id: 'auth' | |
name: 'Authenticate to Google Cloud' | |
uses: 'google-github-actions/auth@v1' | |
with: | |
credentials_json: '${{ secrets.GOOGLE_CREDENTIALS }}' | |
token_format: 'access_token' | |
- name: Login to GCR | |
uses: docker/login-action@v2 | |
with: | |
registry: gcr.io | |
username: oauth2accesstoken | |
password: ${{ steps.auth.outputs.access_token }} | |
- name: Building image | |
run: docker build --tag ${{ env.DOCKER_IMAGE }}:latest . | |
- name: Tag image | |
run: docker tag timeoff gcr.io/${{ env.PROJECT_ID }}/${{ env.DOCKER_IMAGE }}:$GITHUB_SHA | |
- name: Push image to registry | |
run: docker push gcr.io/${{ env.PROJECT_ID }}/${{ env.DOCKER_IMAGE }}:$GITHUB_SHA | |
deploy: | |
needs: build | |
runs-on: ubuntu-latest | |
permissions: | |
contents: 'read' | |
id-token: 'write' | |
actions: 'read' | |
steps: | |
- name: Downloading code | |
uses: actions/checkout@v3 | |
- id: 'auth' | |
name: 'Authenticate to Google Cloud' | |
uses: 'google-github-actions/auth@v1' | |
with: | |
credentials_json: '${{ secrets.GOOGLE_CREDENTIALS }}' | |
token_format: 'access_token' | |
- name: Get GKE credentials | |
uses: 'google-github-actions/get-gke-credentials@v1' | |
with: | |
cluster_name: '${{ env.CLUSTER_NAME }}' | |
location: '${{ env.CLUSTER_LOCATION }}' | |
- name: Configure helm | |
uses: Azure/setup-helm@v3 | |
- name: Deploy application | |
run: | | |
helm upgrade --install timeoff helm-timeoff/ \ | |
--set image.repository=gcr.io/${{ env.PROJECT_ID }}/${{ env.DOCKER_IMAGE }} \ | |
--set image.tag=$GITHUB_SHA | |