Skip to content

Commit

Permalink
ci: New configuration for publishing releases
Browse files Browse the repository at this point in the history
  • Loading branch information
antonko committed Mar 31, 2024
1 parent dbc2429 commit 0d0ac67
Show file tree
Hide file tree
Showing 6 changed files with 637 additions and 5,856 deletions.
25 changes: 14 additions & 11 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,27 +99,30 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Build Docker image
run: docker build -t antonk0/arq-ui:latest .

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: "20"

- name: Download build artifact
uses: actions/download-artifact@v4
with:
name: build-archive
path: ./

- name: Install semantic release
uses: actions/setup-node@v4
with:
node-version: "20"


- name: Install dependencies
run: npm ci

- name: Release
run: npm run release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
DOCKER_REGISTRY_USER: ${{ secrets.DOCKER_USERNAME }}
DOCKER_REGISTRY_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
128 changes: 128 additions & 0 deletions .github/workflows/rc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
name: Code Check on Release

on:
push:
branches: [rc]

jobs:
frontend-check:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"

- name: Enable Corepack
run: corepack enable

- name: Install Yarn 2
run: yarn set version berry
working-directory: ./frontend

- name: Install dependencies
run: yarn install
working-directory: ./frontend

- name: Run linter
run: yarn run lint
working-directory: ./frontend

backend-check:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Setup PDM
uses: pdm-project/setup-pdm@v4

- name: Install dependencies
working-directory: ./backend
run: pdm install --dev

- name: Run linter
working-directory: ./backend
run: pdm run ruff .

build:
needs: [frontend-check, backend-check]
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"

- name: Enable Corepack
run: corepack enable

- name: Install Yarn 2
run: yarn set version berry
working-directory: ./frontend

- name: Install dependencies
run: yarn install
working-directory: ./frontend

- name: Run build
run: yarn run build
working-directory: ./frontend

- name: Copy build files to backend
run: cp -r ./frontend/dist/* ./backend/src/static/

- name: Archive backend files
run: |
cd ./backend
zip -r ../build.zip ./*
- name: Upload build archive as artifact
uses: actions/upload-artifact@v4
with:
name: build-archive
path: ./build.zip

release:
needs: [build]
runs-on: ubuntu-latest
permissions:
contents: write

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: "20"

- name: Download build artifact
uses: actions/download-artifact@v4
with:
name: build-archive
path: ./

- name: Install dependencies
run: npm ci

- name: Release
run: npm run release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCKER_REGISTRY_USER: ${{ secrets.DOCKER_USERNAME }}
DOCKER_REGISTRY_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -158,3 +158,4 @@ cython_debug/
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
/node_modules
21 changes: 18 additions & 3 deletions .releaserc
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
{
"branches": [
"main"
"main",
{
"name": "rc",
"prerelease": true
}
],
"plugins": [
"@semantic-release/commit-analyzer",
Expand All @@ -18,9 +22,20 @@
}
],
[
"@semantic-release-plus/docker",
"@codedependant/semantic-release-docker",
{
"name": "antonk0/arq-ui"
"dockerTags": [
"{{#if prerelease.[0]}}{{prerelease.[0]}}{{else}}latest{{/if}}",
"{{major}}-{{#if prerelease.[0]}}{{prerelease.[0]}}{{else}}latest{{/if}}",
"{{major}}.{{minor}}-{{#if prerelease.[0]}}{{prerelease.[0]}}{{else}}latest{{/if}}",
"{{version}}"
],
"dockerImage": "arq-ui",
"dockerProject": "antonk0",
"dockerPlatform": [
"linux/amd64",
"linux/arm64"
]
}
]
]
Expand Down
Loading

0 comments on commit 0d0ac67

Please sign in to comment.