Skip to content

release

release #18

Workflow file for this run

name: ci
on:
push:
branches:
- "release/*"
jobs:
build:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
- name: Extract version from branch name
run: echo "VERSION=${GITHUB_REF#refs/heads/release/}" >> $GITHUB_ENV
- name: Set up JDK 11 for x64
uses: actions/setup-java@v4
with:
java-version: '11'
distribution: 'temurin'
architecture: x64
- name: Build with Maven
run: cd resource-server && mvn --batch-mode --update-snapshots verify
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
- run: cd frontend && npm i
- run: cd frontend && npm run build
-
name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Build and push backend
uses: docker/build-push-action@v5
with:
context: ./resource-server
file: ./resource-server/Dockerfile
push: true
platforms: linux/amd64,linux/arm64
tags: "${{ secrets.DOCKERHUB_USERNAME }}/isc-301-services:${{ env.VERSION }}"
build-args: |
MYSQL_USER=${{ secrets.MYSQL_USER }}
MYSQL_PASSWORD=${{ secrets.MYSQL_PASSWORD }}
MAILGUN_DOMAIN_NAME=${{ secrets.MAILGUN_DOMAIN_NAME }}
MAILGUN_API_KEY=${{ secrets.MAILGUN_API_KEY }}
TWILIO_ACCOUNT_SID=${{ secrets.TWILIO_ACCOUNT_SID }}
TWILIO_AUTH_TOKEN=${{ secrets.TWILIO_AUTH_TOKEN }}
TWILIO_SERVICE_SID=${{ secrets.TWILIO_SERVICE_SID }}
GOOGLE_CLIENT_ID=${{ secrets.GOOGLE_CLIENT_ID }}
GOOGLE_CLIENT_SECRET=${{ secrets.GOOGLE_CLIENT_SECRET }}
-
name: Build and push frontend
uses: docker/build-push-action@v5
with:
context: ./frontend
file: ./frontend/Dockerfile
push: true
platforms: linux/amd64,linux/arm64
tags: "${{ secrets.DOCKERHUB_USERNAME }}/isc-301-web:${{ env.VERSION }}"