name: Build & Test on: push: paths-ignore: - '**.md' jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup node 20 uses: actions/setup-node@v4 with: node-version: 20 - run: npm ci - run: npm run build - name: Check if dist/index.js needs to be rebuilt run: diff <(git status dist/index.js --short) <(echo -n "") format-check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup node 20 uses: actions/setup-node@v4 with: node-version: 20 - run: npm ci - run: npm run format-check test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup node 20 uses: actions/setup-node@v4 with: node-version: 20 - run: npm ci - run: npm test runSdkManager: runs-on: ${{ matrix.os }} name: ${{ matrix.os }} - ${{ matrix.cmdline-tools-version }} strategy: fail-fast: false matrix: os: - ubuntu-24.04 - ubuntu-22.04 - ubuntu-20.04 - macos-14 - macos-13 - macos-12 - windows-2022 - windows-2019 cmdline-tools-version: - 10406996 - 9862592 - 9477386 - 9123335 - 8512546 steps: - uses: actions/checkout@v4 - name: Setup node 20 uses: actions/setup-node@v4 with: node-version: 20 - name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: 17 distribution: 'temurin' - run: npm ci - run: npm run build - name: Run setup-android uses: ./ with: cmdline-tools-version: ${{ matrix.cmdline-tools-version }} log-accepted-android-sdk-licenses: 'false' - run: sdkmanager --list_installed - run: sdkmanager --list lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup node 20 uses: actions/setup-node@v4 with: node-version: 20 - run: npm ci - run: npm run lint