diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..03bb7eb --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,63 @@ +name: CI + +on: + push: + branches: + - '*' + workflow_dispatch: + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: https://git.quad4.io/actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + - name: Setup Node.js + uses: https://git.quad4.io/actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 + with: + node-version: 22 + cache: pnpm + - name: Setup Python + uses: https://git.quad4.io/actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 + with: + python-version: "3.13" + - name: Setup Task + uses: https://git.quad4.io/actions/setup-task@0ab1b2a65bc55236a3bc64cde78f80e20e8885c2 # v1 + with: + version: '3.46.3' + - name: Setup uv + run: | + task setup-uv + echo "$HOME/.local/bin" >> $GITHUB_PATH + - name: Setup Python environment + run: task setup-python-env + - name: Install Node dependencies + run: task node_modules + - name: Lint + run: task lint + + build-frontend: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: https://git.quad4.io/actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + - name: Setup Node.js + uses: https://git.quad4.io/actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 + with: + node-version: 22 + cache: pnpm + - name: Setup Task + uses: https://git.quad4.io/actions/setup-task@0ab1b2a65bc55236a3bc64cde78f80e20e8885c2 # v1 + with: + version: '3.46.3' + - name: Install dependencies + run: task node_modules + - name: Determine version + id: version + run: | + SHORT_SHA=$(git rev-parse --short HEAD) + echo "version=${SHORT_SHA}" >> $GITHUB_OUTPUT + - name: Build frontend + run: task build-frontend + env: + VITE_APP_VERSION: ${{ steps.version.outputs.version }} \ No newline at end of file