feat(gnomod): forbid require and find dependencies without it #10860
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: examples | |
on: | |
pull_request: | |
push: | |
branches: [ "master" ] | |
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: | |
strategy: | |
fail-fast: false | |
matrix: | |
goversion: [ "1.22.x" ] | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.goversion }} | |
- run: | | |
make fmt -C ./examples | |
# Check if there are changes after running make fmt | |
git diff --exit-code || (echo "Some gno files are not formatted, please run 'make fmt'." && exit 1) | |
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) |