From 5480967f2ece42b3c12ef271452f9da554d8e84f Mon Sep 17 00:00:00 2001 From: "courtmanr@gmail.com" Date: Wed, 30 Apr 2025 16:42:38 +0100 Subject: [PATCH] ci: Add workflow for creating GitHub releases --- .github/workflows/release.yml | 41 +++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..acb1cd070 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,41 @@ +name: Create Release + +on: + push: + tags: + - 'v*.*.*' # Trigger on version tags like v1.0.0, v1.2.3, etc. + +permissions: + contents: write # Needed to create releases + +jobs: + release: + name: Create GitHub Release + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: '20.x' # Match the CI workflow version + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Run tests + run: npm test # Important: Ensure tests pass before releasing + + - name: Create GitHub Release + uses: softprops/action-gh-release@v2 # Popular action for creating releases + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Provided by GitHub Actions + with: + draft: true # Create the release as a draft initially + # Optionally, you can generate release notes automatically: + # generate_release_notes: true + # Assets can be uploaded later if needed, e.g.: + # files: | + # ./release-*.zip \ No newline at end of file