# https://github.com/SilentVoid13/Templater/blob/master/.github/workflows/release.yml name: Plugin release on: push: tags: - "[0-9]+.[0-9]+.[0-9]+" permissions: id-token: write contents: write attestations: write jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 with: submodules: recursive fetch-depth: 0 - name: Fetch all branches run: git fetch --all - name: Extract branch name run: | BRANCH_NAME=$(git name-rev --name-only $GITHUB_SHA | sed 's|^remotes/origin/||' | sed 's|^origin/||') echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV # Checkout the main branch to update manifest.json - name: Checkout main branch to update manifest run: | git checkout main git pull origin main - name: Update manifest.json in main branch run: | VERSION=${GITHUB_REF#refs/tags/} jq --arg version "$VERSION" '.version = $version' manifest.json > manifest-temp.json mv manifest-temp.json manifest.json - name: Commit and push manifest.json changes in main run: | git config --local user.email "github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git add manifest.json git commit -m "Update manifest.json to version $VERSION" || echo "No changes to commit" git push origin main - name: Ensure HEAD is at updated main commit run: | git fetch origin git checkout main git reset --hard origin/main - name: npm build run: | npm install npm run fn-build --if-present - name: Generate artifact attestation for main.js uses: actions/attest@v4 with: subject-path: 'main.js' - name: Generate artifact attestation for styles.css uses: actions/attest@v4 with: subject-path: 'styles.css' - name: Create Plugin release uses: ncipollo/release-action@v1.12.0 with: artifacts: "main.js,manifest.json,styles.css" token: ${{ secrets.GITHUB_TOKEN }} tag: ${{ github.ref_name }}