name: ๐Ÿš€ Lint & Test & Deploy on: push: branches: ["*"] tags: ["*"] pull_request: branches: ["*"] env: PNPM_CACHE_FOLDER: .pnpm-store CARGO_HOME: .cargo CARGO_TARGET_DIR: target jobs: quality: runs-on: ubuntu-latest container: git.max-richter.dev/max/nodarium-ci:a56e8f445edb6064ae7a7b3b783fb7445f1b4e69 steps: - name: ๐Ÿ”ง Setup uses: ./.gitea/actions/setup with: token: ${{ secrets.GITEA_TOKEN }} - name: ๐Ÿงน Quality Control run: | pnpm lint pnpm format:check pnpm check pnpm build test: runs-on: ubuntu-latest container: git.max-richter.dev/max/nodarium-ci:a56e8f445edb6064ae7a7b3b783fb7445f1b4e69 steps: - name: ๐Ÿ”ง Setup uses: ./.gitea/actions/setup with: token: ${{ secrets.GITEA_TOKEN }} - name: ๐Ÿงช Run Tests run: xvfb-run --auto-servernum --server-args="-screen 0 1280x1024x24" pnpm test deploy: runs-on: ubuntu-latest needs: [quality, test] container: git.max-richter.dev/max/nodarium-ci:a56e8f445edb6064ae7a7b3b783fb7445f1b4e69 steps: - name: ๐Ÿ”ง Setup uses: ./.gitea/actions/setup with: token: ${{ secrets.GITEA_TOKEN }} - name: ๐Ÿ—๏ธ Build Web Assets run: pnpm build - name: ๐Ÿš€ Create Release Commit if: gitea.ref_type == 'tag' run: ./.gitea/scripts/create-release.sh env: BOT_PGP_PRIVATE_KEY: ${{ secrets.BOT_PGP_PRIVATE_KEY }} - name: ๐Ÿ› ๏ธ Build run: ./.gitea/scripts/build.sh - name: ๐Ÿท๏ธ Create Gitea Release if: gitea.ref_type == 'tag' uses: akkuman/gitea-release-action@v1 with: tag_name: ${{ gitea.ref_name }} release_name: Release ${{ gitea.ref_name }} body_path: CHANGELOG.md draft: false prerelease: false - name: ๐Ÿš€ Deploy Changed Files via rclone run: ./.gitea/scripts/deploy-files.sh env: REMOTE_DIR: ${{ vars.REMOTE_DIR }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} SSH_HOST: ${{ vars.SSH_HOST }} SSH_PORT: ${{ vars.SSH_PORT }} SSH_USER: ${{ vars.SSH_USER }}