name: ๐Ÿš€ Release on: push: branches: ["*"] tags: ["*"] env: PNPM_CACHE_FOLDER: ~/.pnpm-store jobs: release: runs-on: ubuntu-latest container: jimfx/nodes:latest steps: - name: ๐Ÿ“‘ Checkout Code uses: actions/checkout@v4 with: fetch-depth: 0 token: ${{ secrets.GITHUB_TOKEN }} - name: ๐Ÿ’พ Setup pnpm Cache uses: actions/cache@v4 with: path: ${{ env.PNPM_CACHE_FOLDER }} key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm- - name: ๐Ÿ“ฆ Install Dependencies run: pnpm install --frozen-lockfile --store-dir ${{ env.PNPM_CACHE_FOLDER }} - name: ๐Ÿงน Lint run: pnpm lint - name: ๐ŸŽจ Format Check run: pnpm format:check - name: ๐Ÿงฌ Type Check run: pnpm check - name: ๐Ÿ› ๏ธ Build run: pnpm build:deploy - name: ๐Ÿ”ฌ Tests run: xvfb-run --auto-servernum --server-args="-screen 0 1280x1024x24" pnpm test - name: ๐Ÿš€ Create Release Commit if: github.ref_type == 'tag' run: ./.gitea/scripts/create-release.sh - name: ๐Ÿท๏ธ Create Gitea Release if: github.ref_type == 'tag' uses: akkuman/gitea-release-action@v1 with: tag_name: ${{ github.ref_name }} release_name: Release ${{ github.ref_name }} body_path: CHANGELOG.md draft: false prerelease: false