mirror of https://github.com/Wilfred/difftastic/
83 lines
2.7 KiB
YAML
83 lines
2.7 KiB
YAML
name: Release
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows: ["CI"]
|
|
types:
|
|
- completed
|
|
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
jobs:
|
|
release:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.event.workflow_run.conclusion == 'success' && github.ref == 'refs/heads/master' }}
|
|
steps:
|
|
- uses: google-github-actions/release-please-action@v3
|
|
id: release
|
|
with:
|
|
release-type: node
|
|
package-name: tree-sitter-objc
|
|
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Update Rust version
|
|
run: |
|
|
git fetch origin release-please--branches--master--components--tree-sitter-objc
|
|
git checkout release-please--branches--master--components--tree-sitter-objc
|
|
|
|
git config user.name github-actions[bot]
|
|
git config user.email github-actions[bot]@users.noreply.github.com
|
|
|
|
repo_name="${{ github.repository }}"
|
|
repo_name="${repo_name##*/}"
|
|
version=$(grep -o '"version": *"[^"]*"' package.json | sed 's/"version": "\(.*\)"/\1/')
|
|
|
|
sed -i "s/version = \"[^\"]*\"/version = \"$version\"/g" Cargo.toml
|
|
sed -i "s/$repo_name = \"[^\"]*\"/$repo_name = \"$version\"/g" bindings/rust/README.md
|
|
|
|
git add Cargo.toml bindings/rust/README.md
|
|
git commit --amend --no-edit
|
|
git push -f
|
|
|
|
- name: Setup Node
|
|
if: ${{ steps.release.outputs.release_created }}
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 18
|
|
registry-url: "https://registry.npmjs.org"
|
|
- name: Publish to NPM
|
|
if: ${{ steps.release.outputs.release_created }}
|
|
env:
|
|
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
|
|
run: npm publish
|
|
|
|
- name: Setup Rust
|
|
if: ${{ steps.release.outputs.release_created }}
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
- name: Publish to Crates.io
|
|
if: ${{ steps.release.outputs.release_created }}
|
|
uses: katyo/publish-crates@v2
|
|
with:
|
|
registry-token: ${{ secrets.CARGO_REGISTRY_TOKEN }}
|
|
|
|
- name: Tag stable versions
|
|
if: ${{ steps.release.outputs.release_created }}
|
|
run: |
|
|
git checkout master
|
|
git config user.name github-actions[bot]
|
|
git config user.email github-actions[bot]@users.noreply.github.com
|
|
git remote add gh-token "https://${{ secrets.GITHUB_TOKEN }}@github.com/google-github-actions/release-please-action.git"
|
|
git tag -d stable || true
|
|
git push origin :stable || true
|
|
git tag -a stable -m "Last Stable Release"
|
|
git push origin stable
|