Skip to content

Commit 27440bb

Browse files
committed
rest of the owl
1 parent f1d0f6e commit 27440bb

36 files changed

+10923
-2086
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# generated by nickel/build_example.ncl; do not manually edit
2+
jobs:
3+
build:
4+
name: build
5+
runs-on: ubuntu-latest
6+
steps:
7+
- name: checkout repo
8+
uses: actions/checkout@v4
9+
with:
10+
submodules: true
11+
- name: install rust toolchain
12+
uses: dtolnay/rust-toolchain@master
13+
with:
14+
targets: wasm32-unknown-unknown
15+
toolchain: stable
16+
- name: install bevy dependencies
17+
run: sudo apt-get update && sudo apt-get install --no-install-recommends libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev
18+
shell: bash
19+
- name: populated target directory from cache
20+
uses: Leafwing-Studios/cargo-cache@v2
21+
with:
22+
sweep-cache: true
23+
- name: install just
24+
uses: extractions/setup-just@v2
25+
- name: install binstall
26+
uses: cargo-bins/cargo-binstall@main
27+
- name: install build dependencies
28+
run: cargo binstall --no-confirm wasm-bindgen-cli wasm-opt nickel-lang-cli trunk
29+
- if: ${{ inputs.api == 'webgl2' }}
30+
name: build example
31+
run: just build_wasm_example ${{ inputs.example }}
32+
- if: ${{ inputs.api == 'webgpu' }}
33+
name: build example
34+
run: just build_wasm_example ${{ inputs.example }} webgpu
35+
- name: upload dist
36+
uses: actions/upload-artifact@v4
37+
with:
38+
name: ${{ inputs.api }}_${{ inputs.example }}
39+
path: dist
40+
name: build_example
41+
on:
42+
workflow_call:
43+
inputs:
44+
api:
45+
required: true
46+
type: string
47+
example:
48+
required: true
49+
type: string

.github/workflows/ci.yaml

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
# generated by nickel/ci.ncl; do not manually edit
2+
env:
3+
CARGO_TERM_COLOR: always
4+
RUSTDOCFLAGS: --deny warnings
5+
RUSTFLAGS: --deny warnings
6+
jobs:
7+
assert_nickels_synced_:
8+
name: assert_nickels_synced_
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: checkout repo
12+
uses: actions/checkout@v4
13+
with:
14+
submodules: true
15+
- name: install nix
16+
uses: cachix/install-nix-action@v30
17+
- name: nickel binary cache
18+
uses: cachix/cachix-action@v15
19+
with:
20+
name: tweag-nickel
21+
- name: install nickel
22+
run: |-
23+
nix profile install github:tweag/nickel
24+
echo "$HOME/.nix-profile/bin" >> $GITHUB_PATH
25+
nickel --version
26+
- name: install just
27+
uses: extractions/setup-just@v2
28+
- name: assert nickels synced
29+
run: |-
30+
just format_nickels sync_nickels
31+
[[ -n $(git status --porcelain) ]] && echo 'nickels are not synced; run `just format_nickels sync_nickels`' && exit 1 || exit 0
32+
check_all_features:
33+
name: check_all_features
34+
needs: assert_nickels_synced_
35+
runs-on: ubuntu-latest
36+
steps:
37+
- name: checkout repo
38+
uses: actions/checkout@v4
39+
with:
40+
submodules: true
41+
- name: install rust toolchain
42+
uses: dtolnay/rust-toolchain@master
43+
with:
44+
toolchain: stable
45+
- name: install bevy dependencies
46+
run: sudo apt-get update && sudo apt-get install --no-install-recommends libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev
47+
shell: bash
48+
- name: populated target directory from cache
49+
uses: Leafwing-Studios/cargo-cache@v2
50+
with:
51+
sweep-cache: true
52+
- name: install just
53+
uses: extractions/setup-just@v2
54+
- name: install binstall
55+
uses: cargo-bins/cargo-binstall@main
56+
- name: install cargo all features
57+
run: cargo binstall --no-confirm cargo-all-features
58+
- name: check all features
59+
run: just check_all_features
60+
clippy:
61+
name: clippy
62+
needs: assert_nickels_synced_
63+
runs-on: ubuntu-latest
64+
steps:
65+
- name: checkout repo
66+
uses: actions/checkout@v4
67+
with:
68+
submodules: true
69+
- name: install rust toolchain
70+
uses: dtolnay/rust-toolchain@master
71+
with:
72+
components: clippy
73+
toolchain: stable
74+
- name: install bevy dependencies
75+
run: sudo apt-get update && sudo apt-get install --no-install-recommends libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev
76+
shell: bash
77+
- name: populated target directory from cache
78+
uses: Leafwing-Studios/cargo-cache@v2
79+
with:
80+
sweep-cache: true
81+
- name: install just
82+
uses: extractions/setup-just@v2
83+
- name: run clippy
84+
run: just clippy
85+
docs:
86+
name: docs
87+
needs: assert_nickels_synced_
88+
runs-on: ubuntu-latest
89+
steps:
90+
- name: checkout repo
91+
uses: actions/checkout@v4
92+
with:
93+
submodules: true
94+
- name: install rust toolchain
95+
uses: dtolnay/rust-toolchain@master
96+
with:
97+
toolchain: nightly
98+
- name: install bevy dependencies
99+
run: sudo apt-get update && sudo apt-get install --no-install-recommends libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev
100+
shell: bash
101+
- name: populated target directory from cache
102+
uses: Leafwing-Studios/cargo-cache@v2
103+
with:
104+
sweep-cache: true
105+
- name: install just
106+
uses: extractions/setup-just@v2
107+
- name: check docs
108+
run: just doc
109+
format:
110+
name: format
111+
needs: assert_nickels_synced_
112+
runs-on: ubuntu-latest
113+
steps:
114+
- name: checkout repo
115+
uses: actions/checkout@v4
116+
with:
117+
submodules: true
118+
- name: install rust toolchain
119+
uses: dtolnay/rust-toolchain@master
120+
with:
121+
components: rustfmt
122+
toolchain: nightly
123+
- name: install just
124+
uses: extractions/setup-just@v2
125+
- name: run format
126+
run: just format -- --check
127+
test:
128+
name: test
129+
needs: assert_nickels_synced_
130+
runs-on: ubuntu-latest
131+
steps:
132+
- name: checkout repo
133+
uses: actions/checkout@v4
134+
with:
135+
submodules: true
136+
- name: install rust toolchain
137+
uses: dtolnay/rust-toolchain@master
138+
with:
139+
toolchain: stable
140+
- name: install bevy dependencies
141+
run: sudo apt-get update && sudo apt-get install --no-install-recommends libasound2-dev libudev-dev libwayland-dev libxkbcommon-dev
142+
shell: bash
143+
- name: populated target directory from cache
144+
uses: Leafwing-Studios/cargo-cache@v2
145+
with:
146+
sweep-cache: true
147+
- name: install just
148+
uses: extractions/setup-just@v2
149+
- name: run tests
150+
run: just test
151+
name: ci
152+
on: push
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# generated by nickel/cleanup_pr_previews.ncl; do not manually edit
2+
env:
3+
PR: ${{ github.event.pull_request.number }}
4+
jobs:
5+
cleanup:
6+
name: cleanup
7+
runs-on: ubuntu-latest
8+
steps:
9+
- name: checkout repo
10+
uses: actions/checkout@v4
11+
with:
12+
submodules: true
13+
- name: make empty dir
14+
run: mkdir -p empty_dir
15+
- name: cleanup
16+
uses: JamesIves/github-pages-deploy-action@v4.7.3
17+
with:
18+
attempt-limit: 100
19+
commit-message: cleaning up pr preview for https://github.com/databasedav/aalo/pull/${{ env.PR }}
20+
folder: empty_dir
21+
force: false
22+
target-folder: pr_previews/${{ env.PR }}
23+
name: cleanup_pr_previews
24+
on:
25+
pull_request_target:
26+
types:
27+
- closed
28+
permissions:
29+
contents: write
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
# generated by nickel/examples_on_main.ncl; do not manually edit
2+
jobs:
3+
assert_nickels_synced_:
4+
name: assert_nickels_synced_
5+
runs-on: ubuntu-latest
6+
steps:
7+
- name: checkout repo
8+
uses: actions/checkout@v4
9+
with:
10+
submodules: true
11+
- name: install nix
12+
uses: cachix/install-nix-action@v30
13+
- name: nickel binary cache
14+
uses: cachix/cachix-action@v15
15+
with:
16+
name: tweag-nickel
17+
- name: install nickel
18+
run: |-
19+
nix profile install github:tweag/nickel
20+
echo "$HOME/.nix-profile/bin" >> $GITHUB_PATH
21+
nickel --version
22+
- name: install just
23+
uses: extractions/setup-just@v2
24+
- name: assert nickels synced
25+
run: |-
26+
just format_nickels sync_nickels
27+
[[ -n $(git status --porcelain) ]] && echo 'nickels are not synced; run `just format_nickels sync_nickels`' && exit 1 || exit 0
28+
build_examples_:
29+
name: build_examples_
30+
needs: get_examples_
31+
strategy:
32+
matrix:
33+
api:
34+
- webgl2
35+
- webgpu
36+
example: ${{ fromJson(needs.get_examples_.outputs.examples) }}
37+
uses: ./.github/workflows/build_example.yaml
38+
with:
39+
api: ${{ matrix.api }}
40+
example: ${{ matrix.example }}
41+
deploy_examples_:
42+
name: deploy_examples_
43+
needs: build_examples_
44+
permissions:
45+
contents: write
46+
runs-on: ubuntu-latest
47+
steps:
48+
- name: checkout repo
49+
uses: actions/checkout@v4
50+
with:
51+
submodules: true
52+
- name: remove gitignore
53+
run: rm .gitignore
54+
- name: download artifacts
55+
uses: actions/download-artifact@v4
56+
with:
57+
github-token: ${{ secrets.GITHUB_TOKEN }}
58+
path: artifacts
59+
- name: organize artifacts
60+
run: |-
61+
for artifact in artifacts/*; do
62+
dirname=$(basename "$artifact")
63+
api=${dirname%%_*}
64+
example=${dirname#*_}
65+
mkdir -p "pages/$api/$example"
66+
mv "$artifact"/* "pages/$api/$example"
67+
done
68+
- name: deploy
69+
uses: JamesIves/github-pages-deploy-action@v4.7.3
70+
with:
71+
attempt-limit: 100
72+
commit-message: https://github.com/databasedav/aalo/commit/${{ github.sha }}
73+
folder: pages
74+
force: false
75+
target-folder: examples
76+
get_examples_:
77+
name: get_examples_
78+
needs: assert_nickels_synced_
79+
outputs:
80+
examples: ${{ steps.output_examples.outputs.examples }}
81+
runs-on: ubuntu-latest
82+
steps:
83+
- name: checkout repo
84+
uses: actions/checkout@v4
85+
with:
86+
submodules: true
87+
- name: install just
88+
uses: extractions/setup-just@v2
89+
- id: output_examples
90+
name: output_examples
91+
run: |-
92+
examples=$(just list_examples)
93+
echo "examples=$examples"
94+
echo "examples=$examples" >> $GITHUB_OUTPUT
95+
name: examples_on_main
96+
on:
97+
push:
98+
branches:
99+
- main

0 commit comments

Comments
 (0)