feat: add FOMO3D game implementation #12387
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: Gno Examples | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
paths: | |
- gnovm/**/*.gno | |
- examples/**/*.gno | |
- examples/**/gno.mod | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
gno2go: | |
strategy: | |
fail-fast: false | |
matrix: | |
goversion: | |
- "1.22.x" | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.goversion }} | |
- run: go install -v ./gnovm/cmd/gno | |
- run: go run ./gnovm/cmd/gno transpile -v --gobuild ./examples | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
goversion: | |
- "1.22.x" | |
# unittests: TODO: matrix with contracts | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.goversion }} | |
- name: Set environment variables for debug mode | |
if: env.ACTIONS_STEP_DEBUG == 'true' | |
run: | | |
export LOG_PATH_DIR=${{ runner.temp }}/logs | |
mkdir -p $LOG_PATH_DIR | |
echo "LOG_LEVEL=debug" >> $GITHUB_ENV | |
echo "LOG_PATH_DIR=$LOG_PATH_DIR" >> $GITHUB_ENV | |
- run: go install -v ./gnovm/cmd/gno | |
- run: go run ./gnovm/cmd/gno test -v -print-runtime-metrics -print-events ./examples/... | |
lint: | |
strategy: | |
fail-fast: false | |
matrix: | |
goversion: | |
- "1.22.x" | |
# unittests: TODO: matrix with contracts | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.goversion }} | |
# testing official directories, basically examples/ minus examples/.../x/. | |
- run: make lint -C ./examples | |
# TODO: consider running lint on every other directories, maybe in "warning" mode? | |
# TODO: track coverage | |
fmt: | |
name: Run gno fmt on examples | |
uses: ./.github/workflows/gnofmt_template.yml | |
with: | |
path: "examples/..." | |
mod-tidy: | |
strategy: | |
fail-fast: false | |
matrix: | |
go-version: [ "1.22.x" ] | |
# unittests: TODO: matrix with contracts | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- uses: actions/checkout@v4 | |
- run: | | |
GNO_CMD="$(pwd)/gnovm/cmd/gno" | |
# Find all directories containing gno.mod file | |
find ./examples -name "gno.mod" -execdir go run "$GNO_CMD" mod tidy \; | |
# Check if there are changes after running gno mod tidy | |
git diff --exit-code || (echo "Some gno.mod files are not tidy, please run 'make tidy'." && exit 1) |