hono clientをapiに移す #296
Workflow file for this run
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
name: Check | |
on: | |
pull_request: | |
jobs: | |
changes: | |
name: Check Changes | |
runs-on: ubuntu-latest | |
outputs: | |
clojure-yasunori: ${{ steps.filter.outputs.clojure-yasunori }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: filter | |
uses: dorny/paths-filter@v3 | |
id: filter | |
with: | |
filters: | | |
clojure-yasunori: | |
- 'packages/clojure-yasunori/**' | |
lint-github-actions: | |
name: Lint GitHub Actions | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run actionlint | |
shell: bash | |
run: | | |
bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash) | |
./actionlint -color | |
nix-flake: | |
name: Nix Flake Check | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: prepare nix | |
uses: cachix/install-nix-action@v29 | |
- name: flake check | |
run: nix flake check | |
nix-flake-build: | |
name: Nix Flake Build | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: prepare nix | |
uses: cachix/install-nix-action@v29 | |
- name: prepare cachix | |
uses: cachix/cachix-action@v15 | |
with: | |
name: times-yasunori | |
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} | |
- name: build devShell | |
run: nix develop -L | |
- name: build packages | |
run: | | |
nix build -L .#yasunori-cli | |
nix build -L .#yasunori-net | |
lint-awesome-yasunori: | |
name: Lint Awesome Yasunori | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
- run: | | |
#!/usr/bin/env bash | |
set -euo pipefail | |
mkdir -p "${HOME}"/bin | |
echo "PATH=${HOME}/bin:${PATH}" >> "${GITHUB_ENV}" | |
curl \ | |
--show-error \ | |
--silent \ | |
--location \ | |
--fail \ | |
--retry 3 \ | |
--connect-timeout 5 \ | |
--max-time 60 \ | |
--output "${HOME}/bin/yj" \ | |
"https://github.com/sclevine/yj/releases/download/v5.1.0/yj-linux-amd64" | |
chmod +x "${HOME}"/bin/yj | |
npm install -g ajv-cli | |
- run: yj -tj < yasunori.toml > yasunori.json | |
- run: npx ajv validate -s schema.json -d yasunori.json | |
test-api: | |
name: Test API | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: packages/api | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v4 | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Setup | |
run: pnpm run generate:json | |
- name: Test | |
run: pnpm test | |
test-web: | |
name: Test Web | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: packages/web | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v4 | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Test | |
run: pnpm test | |
lint-api-and-web: | |
name: Lint API & Web | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v4 | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Typecheck | |
run: pnpm run typecheck | |
- name: Lint | |
run: pnpm run lint | |
test-YasunoriDotNET: | |
name: Build & Test Yasunori.NET | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: packages/Yasunori.NET | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: 8.0.x | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Build | |
run: dotnet build --no-restore | |
- name: Test | |
run: dotnet test --no-build --verbosity normal | |
test-clojure-yasunori: | |
name: Build & Test clojure-yasunori | |
runs-on: ubuntu-latest | |
needs: changes | |
if: ${{ needs.changes.outputs.clojure-yasunori == 'true' }} | |
defaults: | |
run: | |
working-directory: packages/clojure-yasunori | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: 'graalvm' | |
java-version: '22' | |
- uses: DeLaGuardo/[email protected] | |
with: | |
cli: 1.11.4.1474 | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.m2/repository | |
~/.gitlibs | |
~/.deps.clj | |
key: cljdeps-${{ hashFiles('deps.edn') }} | |
restore-keys: cljdeps- | |
- name: Build | |
run: make build | |
- name: Build native | |
run: make build.native | |
- name: Test | |
run: make test |