Changelog bump #499
This file contains hidden or 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: Publish | |
on: | |
push: | |
branches: [ main ] | |
jobs: | |
check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22.x | |
- uses: ./.github/actions/codecheck | |
push: | |
runs-on: ubuntu-latest | |
needs: | |
- check | |
permissions: | |
contents: read | |
packages: write | |
environment: | |
name: production | |
url: https://vatsim-radar.com | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Add .env file | |
run: echo "${{ secrets.ENV }}" > .env | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
tags: ghcr.io/vatsim-radar/vatsim-radar/production:latest | |
context: . | |
push: true | |
file: .config/Dockerfile | |
push-public: | |
runs-on: ubuntu-latest | |
needs: | |
- check | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Add .env file | |
run: cp .env.example .env | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
tags: ghcr.io/vatsim-radar/vatsim-radar/production-prebuilt:latest | |
context: . | |
push: true | |
file: .config/debug.Dockerfile | |
deploy-app: | |
runs-on: ubuntu-latest | |
needs: | |
- push | |
permissions: | |
contents: read | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up kubectl | |
uses: matootie/dokube@v1.4.1 | |
with: | |
personalAccessToken: ${{ secrets.DIGITALOCEAN_TOKEN }} | |
clusterName: main | |
- name: Deploy App | |
run: kubectl apply -f .config/k8s/main/app.yml | |
- name: Apply Worker | |
run: kubectl rollout restart deployment worker-prod | |
- name: Validate Worker | |
run: kubectl rollout status deployment worker-prod | |
- name: Apply App | |
run: kubectl rollout restart deployment app-prod | |
- name: Validate App | |
run: kubectl rollout status deployment app-prod | |
- name: Apply VG | |
run: kubectl rollout restart deployment vatglasses | |
- name: Validate VG | |
run: kubectl rollout status deployment vatglasses | |
deploy-db-redis: | |
runs-on: ubuntu-latest | |
needs: | |
- push | |
permissions: | |
contents: read | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up kubectl | |
uses: matootie/dokube@v1.4.1 | |
with: | |
personalAccessToken: ${{ secrets.DIGITALOCEAN_TOKEN }} | |
clusterName: main | |
- name: Deploy Navigraph | |
run: kubectl apply -f .config/k8s/main/navigraph.yml | |
- name: Apply Navigraph | |
run: kubectl rollout restart deployment navigraph | |
- name: Validate Navigraph | |
run: kubectl rollout status deployment navigraph | |
- name: Validate Navigraph | |
run: kubectl rollout status deployment navigraph | |
- name: Deploy Volume | |
run: kubectl apply -f .config/k8s/main/volume.yml | |
- name: Deploy Redis | |
run: kubectl apply -f .config/k8s/main/redis.yml | |
- name: Validate Redis | |
run: kubectl rollout status deployment redis | |
- name: Deploy DB | |
run: kubectl apply -f .config/k8s/main/db.yml | |
- name: Validate DB | |
run: kubectl rollout status deployment db | |
# - name: Deploy Influx | |
# run: kubectl apply -f .config/k8s/influx.yml | |
# - name: Validate Influx | |
# run: kubectl rollout status deployment influx-v2 | |
deploy-ingress: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: read | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up kubectl | |
uses: matootie/dokube@v1.4.1 | |
with: | |
personalAccessToken: ${{ secrets.DIGITALOCEAN_TOKEN }} | |
clusterName: main | |
- name: Deploy Ingress | |
run: kubectl apply -f .config/k8s/ingress.yml | |
github-release: | |
name: Release tag to Github | |
needs: | |
- deploy-app | |
- deploy-db-redis | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get Tag Name | |
id: tagName | |
uses: beaconbrigade/package-json-version@v0.3 | |
- name: Extract release notes | |
id: extract-release-notes | |
uses: ffurrer2/extract-release-notes@v2 | |
- name: Create Release | |
uses: softprops/action-gh-release@v2 | |
with: | |
target_commitish: main | |
token: ${{ secrets.GITHUB_TOKEN }} | |
tag_name: ${{ steps.tagName.outputs.version }} | |
name: ${{ steps.release.outputs.title }} | |
body: ${{ steps.extract-release-notes.outputs.release_notes }} |