name: Release on: push: tags: - 'v*' jobs: release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - name: Install dependencies run: npm ci - name: Build run: npm run build - name: Verify version run: | TAG_VERSION="${GITHUB_REF_NAME#v}" MANIFEST_VERSION=$(node -p "require('./manifest.json').version") if [ "$TAG_VERSION" != "$MANIFEST_VERSION" ]; then echo "❌ Tag ($TAG_VERSION) != manifest ($MANIFEST_VERSION)" exit 1 fi - name: Create Release uses: softprops/action-gh-release@v2 with: name: ${{ github.ref_name }} files: | main.js manifest.json styles.css