name: CI on: push: pull_request: workflow_dispatch: defaults: run: shell: bash jobs: fmt: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install tooling uses: CompeyDev/setup-rokit@v0.1.2 with: cache: true - name: Install pesde uses: ./.github/actions/setup-pesde with: pesde-token: ${{ secrets.PESDE_TOKEN }} - name: Install dependencies run: pesde install - name: Check formatting run: lune run fmt -- --check typecheck: needs: ["fmt"] runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install tooling uses: CompeyDev/setup-rokit@v0.1.2 with: cache: true - name: Install pesde uses: ./.github/actions/setup-pesde with: pesde-token: ${{ secrets.PESDE_TOKEN }} - name: Install dependencies run: pesde install - name: Setup lune typedefs run: lune setup - name: Typecheck run: lune run typecheck test: needs: ["typecheck"] runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install tooling uses: CompeyDev/setup-rokit@v0.1.2 with: cache: true - name: Install pesde uses: ./.github/actions/setup-pesde with: pesde-token: ${{ secrets.PESDE_TOKEN }} - name: Install dependencies run: pesde install - name: Run tests run: lune run test