2021-07-29 21:01:46 +03:00
name : Publish on npm and brew
2020-05-08 10:08:30 +03:00
on :
2021-03-26 03:33:18 +03:00
# Shows the manual trigger in GitHub UI
# helpful as a back-up in case the GitHub Actions Workflow fails
workflow_dispatch :
2020-05-08 10:08:30 +03:00
release :
2021-11-01 20:06:10 +03:00
types : [ released]
2020-05-08 10:08:30 +03:00
2022-03-02 02:03:39 +03:00
# Cancel in-progress runs for pull requests when developers push
# additional changes, and serialize builds in branches.
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-concurrency-to-cancel-any-in-progress-job-or-run
concurrency :
group : ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress : ${{ github.event_name == 'pull_request' }}
2020-05-08 10:08:30 +03:00
jobs :
2021-04-16 22:47:24 +03:00
# NOTE: this job requires curl, jq and yarn
# All of them are included in ubuntu-latest.
2020-05-08 10:08:30 +03:00
npm :
runs-on : ubuntu-latest
steps :
2022-03-02 02:31:32 +03:00
- uses : actions/checkout@v3
2021-04-16 22:47:24 +03:00
2022-03-17 21:52:39 +03:00
- name : Get version
id : version
2022-03-23 02:45:59 +03:00
run : echo "::set-output name=version::$(jq -r .version package.json)"
2022-03-17 21:52:39 +03:00
- name : Download artifact
uses : dawidd6/action-download-artifact@v2
2022-02-03 23:54:36 +03:00
id : download
with :
2022-07-19 00:38:07 +03:00
branch : release/v${{ steps.version.outputs.version }}
2022-03-23 02:45:59 +03:00
workflow : ci.yaml
2022-03-17 21:52:39 +03:00
workflow_conclusion : completed
2022-02-03 23:54:36 +03:00
name : "npm-package"
path : release-npm-package
2022-01-25 01:33:42 +03:00
- name : Publish npm package and tag with "latest"
2022-01-22 02:28:56 +03:00
run : yarn publish:npm
2020-05-16 17:55:46 +03:00
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN : ${{ secrets.NPM_TOKEN }}
2022-02-03 23:54:36 +03:00
NPM_ENVIRONMENT : "production"
2020-05-08 10:08:30 +03:00
2021-04-01 00:55:43 +03:00
homebrew :
needs : npm
2022-03-30 02:58:34 +03:00
runs-on : ubuntu-latest
2021-04-01 00:55:43 +03:00
steps :
2021-05-26 00:18:04 +03:00
# Ensure things are up to date
# Suggested by homebrew maintainers
# https://github.com/Homebrew/discussions/discussions/1532#discussioncomment-782633
- name : Set up Homebrew
id : set-up-homebrew
uses : Homebrew/actions/setup-homebrew@master
2022-03-22 02:57:36 +03:00
- name : Checkout code-server
uses : actions/checkout@v3
2021-04-01 00:55:43 +03:00
- name : Configure git
run : |
2022-05-07 01:31:03 +03:00
git config --global user.name cdrci
git config --global user.email opensource@coder.com
2022-03-22 02:57:36 +03:00
2021-04-01 00:55:43 +03:00
- name : Bump code-server homebrew version
env :
HOMEBREW_GITHUB_API_TOKEN : ${{secrets.HOMEBREW_GITHUB_API_TOKEN}}
run : ./ci/steps/brew-bump.sh
2022-08-18 19:22:09 +03:00
aur :
needs : npm
runs-on : ubuntu-latest
timeout-minutes : 10
env :
GH_TOKEN : ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }}
steps :
# We need to checkout code-server so we can get the version
- name : Checkout code-server
uses : actions/checkout@v3
with :
fetch-depth : 0
path : "./code-server"
- name : Get code-server version
id : version
run : |
pushd code-server
echo "::set-output name=version::$(jq -r .version package.json)"
popd
- name : Checkout code-server-aur repo
uses : actions/checkout@v3
with :
repository : "cdrci/code-server-aur"
token : ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }}
- name : Configure git
run : |
git config --global user.name cdrci
git config --global user.email opensource@coder.com
- name : Validate package
uses : hapakaien/archlinux-package-action@v2
with :
pkgver : ${{ steps.version.outputs.version }}
updpkgsums : true
srcinfo : true
- name : Open PR
# We need to git push -u otherwise gh will prompt
# asking where to push the branch.
run : |
git checkout -b update-version-${{ steps.version.outputs.version }}
git add .
git commit -m "chore: updating version to ${{ steps.version.outputs.version }}"
git push -u origin $(git branch --show)
gh pr create --repo coder/code-server-aur --title "chore: bump version to ${{ steps.version.outputs.version }}" --body "PR opened by @$GITHUB_ACTOR" --assignee $GITHUB_ACTOR