name: authentik-ci-web on: push: branches: - main - next - version-* pull_request: branches: - main jobs: lint-eslint: runs-on: large-4core-ubuntu-22.04 steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3.8.1 with: node-version: "20" cache: "npm" cache-dependency-path: web/package-lock.json - working-directory: web/ run: npm ci - name: Generate API run: make gen-client-ts - name: Eslint working-directory: web/ run: npm run lint lint-build: runs-on: large-4core-ubuntu-22.04 steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3.8.1 with: node-version: "20" cache: "npm" cache-dependency-path: web/package-lock.json - working-directory: web/ run: npm ci - name: Generate API run: make gen-client-ts - name: TSC working-directory: web/ run: npm run tsc lint-prettier: runs-on: large-4core-ubuntu-22.04 steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3.8.1 with: node-version: "20" cache: "npm" cache-dependency-path: web/package-lock.json - working-directory: web/ run: npm ci - name: Generate API run: make gen-client-ts - name: prettier working-directory: web/ run: npm run prettier-check lint-lit-analyse: runs-on: large-4core-ubuntu-22.04 steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3.8.1 with: node-version: "20" cache: "npm" cache-dependency-path: web/package-lock.json - working-directory: web/ run: | npm ci # lit-analyse doesn't understand path rewrites, so make it # belive it's an actual module cd node_modules/@goauthentik ln -s ../../src/ web - name: Generate API run: make gen-client-ts - name: lit-analyse working-directory: web/ run: npm run lit-analyse ci-web-mark: needs: - lint-eslint - lint-prettier - lint-lit-analyse - lint-build runs-on: large-4core-ubuntu-22.04 steps: - run: echo mark build: needs: - ci-web-mark runs-on: large-4core-ubuntu-22.04 steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3.8.1 with: node-version: "20" cache: "npm" cache-dependency-path: web/package-lock.json - working-directory: web/ run: npm ci - name: Generate API run: make gen-client-ts - name: build working-directory: web/ run: npm run build