rafac: Cronjob Service - Use BullMQ for Queuing #441
Workflow file for this run
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: Feature | |
on: | |
push: | |
branches: [feature/**/*, feature/*] | |
jobs: | |
prepare: | |
runs-on: ubuntu-latest | |
name: 'Prepare Feature' | |
outputs: | |
branch: ${{ steps.extract_branch.outputs.branch }} | |
version: ${{ steps.taggerDryRun.outputs.new_tag }} | |
steps: | |
- name: Extract branch name | |
shell: bash | |
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT | |
id: extract_branch | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: 🪐 Patch version for each merge (Dry Run) | |
id: taggerDryRun | |
uses: anothrNick/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} | |
WITH_V: true | |
DEFAULT_BUMP: patch | |
PRE_RELEASE: true | |
DRY_RUN: true | |
- name: 🪐 Output Tag | |
run: | | |
echo "${{ steps.taggerDryRun.outputs.new_tag }}" | |
linting: | |
needs: [prepare] | |
runs-on: ubuntu-latest | |
name: 'Check Format and Linting' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: nrwl/nx-set-shas@v4 | |
- name: 📦 Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 21 | |
cache: 'npm' | |
- name: 📦 Install NX-Linux | |
run: npm install @nx/nx-linux-x64-gnu@latest | |
- name: 📦 Install dependencies | |
run: npm install | |
- name: 🚀 Check Format | |
run: npx nx format:check | |
- name: 🚀 Lint Apps | |
run: npx nx affected:lint --parallel --maxParallel=3 --base=${{ needs.prepare.outputs.branch }}~1 --head=${{ needs.prepare.outputs.branch }} | |
testing: | |
needs: [prepare] | |
runs-on: ubuntu-latest | |
name: 'Test Apps' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: nrwl/nx-set-shas@v4 | |
- name: 📦 Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 21 | |
cache: 'npm' | |
- name: 📦 Install NX-Linux | |
run: npm install @nx/nx-linux-x64-gnu@latest | |
- name: 📦 Install dependencies | |
run: npm install | |
- name: 🚀 Test Apps | |
run: npx nx affected:test --passWithNoTests --parallel --maxParallel=3 --base=${{ needs.prepare.outputs.branch }}~1 --head=${{ needs.prepare.outputs.branch }} | |
- name: 🚀 e2e Apps | |
run: npx nx affected:e2e --passWithNoTests --parallel --maxParallel=3 --base=${{ needs.prepare.outputs.branch }}~1 --head=${{ needs.prepare.outputs.branch }} | |
building: | |
needs: [prepare] | |
runs-on: ubuntu-latest | |
name: 'Build Apps' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: nrwl/nx-set-shas@v4 | |
- name: 📦 Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 21 | |
cache: 'npm' | |
- name: 📦 Install NX-Linux | |
run: npm install @nx/nx-linux-x64-gnu@latest | |
- name: 📦 Install dependencies | |
run: npm install | |
- name: 🚀 Build Apps | |
run: npx nx affected:build --parallel --maxParallel=3 --base=${{ needs.prepare.outputs.branch }}~1 --head=${{ needs.prepare.outputs.branch }} | |
docker: | |
needs: [prepare, linting, testing, building] | |
runs-on: ubuntu-latest | |
name: 'Publish Docker Image' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: nrwl/nx-set-shas@v4 | |
- name: 📦 Login into Docker | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: 📦 Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 21 | |
cache: 'npm' | |
- name: 📦 Install NX-Linux | |
run: npm install @nx/nx-linux-x64-gnu@latest | |
- name: 📦 Install dependencies | |
run: npm install | |
- name: 🏗 Build Docker Images | |
run: npx nx affected -t docker-build --base=${{ needs.prepare.outputs.branch }}~1 --head=${{ needs.prepare.outputs.branch }} --parallel --maxParallel=3 --VERSION=${{ needs.prepare.outputs.version }} | |
- name: 🏗 Push Docker Images | |
run: npx nx affected -t docker-push --base=${{ needs.prepare.outputs.branch }}~1 --head=${{ needs.prepare.outputs.branch }} --parallel --maxParallel=3 --VERSION=${{ needs.prepare.outputs.version }} | |
notify: | |
needs: [docker] | |
runs-on: ubuntu-latest | |
name: 'Notify' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: 🪐 Patch version for each merge | |
id: taggerDryRun | |
uses: anothrNick/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} | |
WITH_V: true | |
DEFAULT_BUMP: patch | |
PRE_RELEASE: true | |
- name: API Alerts Notify | |
uses: apialerts/notify-action@v1 | |
with: | |
api_key: ${{ secrets.API_ALERTS_KEY }} | |
message: '🚢 Feature - New Patch Released (${{ steps.taggerDryRun.outputs.new_tag }})' | |
tags: 'Azkaban,Feature' | |
link: 'https://api.toxictoast.de/api' |