-
Notifications
You must be signed in to change notification settings - Fork 34
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci: automate releases with release-please (#521)
- Loading branch information
Showing
10 changed files
with
269 additions
and
193 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
name: build | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
|
||
jobs: | ||
build: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: | ||
- macos-latest | ||
- ubuntu-latest | ||
|
||
runs-on: ${{ matrix.os }} | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Use Node.js 16.x | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 16.x | ||
|
||
- name: Get yarn cache directory path | ||
id: yarn-cache-dir-path | ||
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT" | ||
- name: Retrieve yarn cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | ||
key: v1-${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }} | ||
restore-keys: | | ||
v1-${{ runner.os }}-yarn- | ||
- name: Install npm packages | ||
run: yarn --frozen-lockfile | ||
|
||
- name: Ensure out directories are up-to-date | ||
if: runner.os == 'Linux' | ||
shell: bash | ||
run: | | ||
yarn build | ||
if [ "$(git status --porcelain | wc -l)" -gt "0" ]; then | ||
echo "Detected uncommitted changes after build. See status below:" | ||
git diff | ||
exit 1 | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
name: CodeQL | ||
name: codeql | ||
|
||
on: | ||
- pull_request | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
name: lint | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
|
||
jobs: | ||
eslint: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: 16.x | ||
- name: Get yarn cache directory path | ||
id: yarn-cache-dir-path | ||
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT" | ||
- name: Install npm packages | ||
run: yarn --frozen-lockfile | ||
- name: Check lint | ||
run: yarn lint | ||
|
||
prettier: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: 16.x | ||
- name: Get yarn cache directory path | ||
id: yarn-cache-dir-path | ||
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT" | ||
- name: Install npm packages | ||
run: yarn --frozen-lockfile | ||
- name: Check formatting | ||
run: yarn fmt:check | ||
|
||
typecheck: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: 16.x | ||
- name: Get yarn cache directory path | ||
id: yarn-cache-dir-path | ||
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT" | ||
- name: Install npm packages | ||
run: yarn --frozen-lockfile | ||
- name: Check types | ||
run: yarn typecheck | ||
|
||
actionlint: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Check workflow files | ||
uses: docker://rhysd/actionlint:1.6.23 | ||
with: | ||
args: -color |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
name: release | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
|
||
permissions: | ||
contents: write | ||
pull-requests: write | ||
|
||
jobs: | ||
release: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: google-github-actions/release-please-action@v3 | ||
id: release | ||
with: | ||
release-type: node | ||
command: github-release | ||
# extra-files: | | ||
# README.md | ||
- uses: actions/checkout@v2 | ||
- name: tag major versions | ||
if: ${{ steps.release.outputs.release_created }} | ||
run: | | ||
git config user.name github-actions[bot] | ||
git config user.email 41898282+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 v${{ steps.release.outputs.major }} || true | ||
git push origin :v${{ steps.release.outputs.major }} || true | ||
git tag -a v${{ steps.release.outputs.major }} -m "Release v${{ steps.release.outputs.major }}" | ||
git push origin v${{ steps.release.outputs.major }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
name: lint | ||
|
||
on: | ||
pull_request_target: | ||
types: | ||
- opened | ||
- edited | ||
- synchronize | ||
|
||
jobs: | ||
semantic-pr: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: amannn/action-semantic-pull-request@v5.1.0 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
validateSingleCommit: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
name: test | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
|
||
jobs: | ||
asdf_is_installed: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: ["macos-latest", "ubuntu-latest"] | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: setup asdf | ||
uses: ./setup | ||
- name: asdf is available | ||
run: | | ||
echo ASDF_DIR="${ASDF_DIR}" | ||
echo ASDF_DATA_DIR="${ASDF_DATA_DIR}" | ||
echo PATH="${PATH}" | ||
asdf --version | ||
plugin_is_tested: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: ["macos-latest", "ubuntu-latest"] | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: ./plugin-test | ||
with: | ||
command: direnv --version | ||
plugin: direnv | ||
giturl: https://github.com/asdf-community/asdf-direnv.git | ||
gitref: master | ||
|
||
plugins_are_installed: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: ["macos-latest", "ubuntu-latest"] | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: ./plugins-add | ||
with: | ||
tool_versions: | | ||
# tools won't be installed by this action, only plugins | ||
elixir foo | ||
nodejs bar | ||
- run: | | ||
asdf plugin list --urls --refs | grep elixir | ||
asdf plugin list --urls --refs | grep nodejs | ||
installing-plugins-already-installed-are-skiped: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: ["macos-latest", "ubuntu-latest"] | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: ./setup | ||
- name: Add an asdf plugin | ||
run: | | ||
asdf plugin-add clusterctl https://github.com/pfnet-research/asdf-clusterctl.git | ||
- uses: ./plugins-add | ||
with: | ||
tool_versions: | | ||
# tools won't be installed by this action, only plugins | ||
elixir foo | ||
nodejs bar | ||
# plugins already installed are here | ||
clusterctl tako | ||
- run: | | ||
asdf plugin list --urls --refs | grep elixir | ||
asdf plugin list --urls --refs | grep nodejs | ||
asdf plugin list --urls --refs | grep clusterctl | ||
tools_are_installed: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: ["macos-latest", "ubuntu-latest"] | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: setup asdf | ||
uses: ./install | ||
with: | ||
before_install: echo asdf nodejs import-keyring | ||
tool_versions: direnv 2.32.1 | ||
- run: direnv version |
Oops, something went wrong.