Skip to content

Commit 1ca4720

Browse files
committed
fix nickels
1 parent 9bd5f45 commit 1ca4720

File tree

5 files changed

+436
-3
lines changed

5 files changed

+436
-3
lines changed

.github/workflows/build_example.yaml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,57 @@
11
# 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 nickel
26+
run: |-
27+
OUT="$HOME/.local/bin/nickel"
28+
mkdir -p "$(dirname "$OUT")"
29+
curl -L "https://github.com/tweag/nickel/releases/download/1.12.2/nickel-pkg-x86_64-linux" -o "$OUT"
30+
chmod +x "$OUT"
31+
echo "$(dirname "$OUT")" >> "$GITHUB_PATH"
32+
nickel --version
33+
- name: install binstall
34+
uses: cargo-bins/cargo-binstall@main
35+
- name: install build dependencies
36+
run: cargo binstall --no-confirm --continue-on-failure wasm-bindgen-cli wasm-opt trunk
37+
- if: ${{ inputs.api == 'webgl2' }}
38+
name: build example
39+
run: just build_wasm_example ${{ inputs.example }}
40+
- if: ${{ inputs.api == 'webgpu' }}
41+
name: build example
42+
run: just build_wasm_example ${{ inputs.example }} webgpu
43+
- name: upload dist
44+
uses: actions/upload-artifact@v4
45+
with:
46+
name: ${{ inputs.api }}_${{ inputs.example }}
47+
path: dist
48+
name: build_example
49+
on:
50+
workflow_call:
51+
inputs:
52+
api:
53+
required: true
54+
type: string
55+
example:
56+
required: true
57+
type: string

.github/workflows/ci.yaml

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

0 commit comments

Comments
 (0)