feat(examples): add r/demo/games/tictactoe 1P-VS-CPU #19893
Workflow file for this run
This file contains hidden or 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: | |
| # any change to gnovm code can make examples fail | |
| - gnovm/** | |
| - examples/** | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| jobs: | |
| gno2go: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| goversion: | |
| - "1.23.x" | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: ${{ matrix.goversion }} | |
| - run: go install -v ./gnovm/cmd/gno | |
| - run: go run ./gnovm/cmd/gno tool transpile -v --gobuild ./examples | |
| test: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| goversion: | |
| - "1.23.x" | |
| # unittests: TODO: matrix with contracts | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - 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: cd examples && go run ../gnovm/cmd/gno test -v -print-runtime-metrics -print-events ./... | |
| lint: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| goversion: | |
| - "1.23.x" | |
| # unittests: TODO: matrix with contracts | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - 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/..." | |
| generate: | |
| name: Check generated files are up to date | |
| uses: ./.github/workflows/build_template.yml | |
| with: | |
| modulepath: "examples" | |
| go-version: "1.23.x" | |
| mod-tidy: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| go-version: ["1.23.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@v5 | |
| - working-directory: ./examples | |
| run: | | |
| make tidy | |
| # Check if there are changes after running gno mod tidy | |
| git diff --exit-code || (echo "Some gnomod.toml files are not tidy, please run 'make tidy'." && exit 1) |