name: Build and Release on: push: tags: - 'v*' # Trigger the workflow when a tag starting with 'v' is pushed (e.g., v1.0.0) jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Deno uses: denoland/setup-deno@61fe2df320078202e33d7d5ad347e7dcfa0e8f31 with: deno-version: 'v2.0.6' - name: Install modulesdsafdasf run: deno install - name: Make shell script executable run: chmod +x ./buildall.sh - name: Run buildall.sh run: ./buildall.sh - name: List contents of build directory (debugging step) run: ls -R build # List contents of build to ensure files are there - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: compressed-files path: build/compressed/* # Upload the files in the build/compressed directory release: needs: build runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Download build artifacts uses: actions/download-artifact@v4 with: name: compressed-files # This is the same name you used in the upload-artifact step path: build - name: List contents of downloaded artifacts (debugging step) run: ls -R . # List contents of the downloaded artifact folder - name: Create GitHub Release uses: softprops/action-gh-release@v1 with: files: build/* # Now use the downloaded artifacts tag_name: ${{ github.ref }} name: Release ${{ github.ref }} # Use name instead of release_name body: "Automated release for version ${{ github.ref }}" env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} # Use the PAT for permissions