diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml new file mode 100644 index 0000000..1ac5937 --- /dev/null +++ b/.github/workflows/verify.yml @@ -0,0 +1,88 @@ +name: verify + +on: + push: + branches: + - master + pull_request: + +jobs: + verify: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + + - name: Install dependencies + run: pip3 install -U git+https://github.com/${{ github.repository }}.git@master + + # required only if you want to verify Haskell code + - name: Install dependencies (Haskell) + uses: haskell-actions/setup@v2 + with: + ghc-version: '8.8.4' + cabal-version: '3.0.0.0' + + # required only if you want to verify Java code + - name: Install dependencies (Java) + uses: actions/setup-java@v3 + with: + distribution: temurin + java-version: '11' + + # required only if you want to verify C# script files + - uses: actions/setup-dotnet@v3 + with: + dotnet-version: '6.0.413' + - name: Install dependencies (C#) + run: dotnet tool install --global dotnet-script --version 1.3.0 + + # required only if you want to verify Go code + - name: Install dependencies (Go) + uses: actions/setup-go@v4 + with: + go-version: '1.20.7' + + # required only if you want to verify Ruby code + - name: Install dependencies (Ruby) + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.0' + + # required only if you want to verify Nim code + - name: Install dependencies (Nim) + uses: jiro4989/setup-nim-action@v1 + with: + nim-version: '1.6.14' + repo-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Set up Rust (1.70.0) + run: | + rustup set profile minimal + rustup install 1.70.0 + rustup override set nightly + + # required by cargo-udeps + - name: Set up Rust (nightly) + run: | + rustup set profile minimal + rustup install nightly + rustup override set nightly + + # required only if you set `languages.rust.list_dependencies_backend.kind` to `"cargo-udeps"` + - name: Install cargo-udeps for Rust + uses: baptiste0928/cargo-install@v2 + with: + crate: cargo-udeps + version: '0.1.44' + args: --debug + + - name: Run tests + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + YUKICODER_TOKEN: ${{ secrets.YUKICODER_TOKEN }} + GH_PAT: ${{ secrets.GH_PAT }} + run: oj-verify all