name: Build & Test on: push: paths-ignore: - '**.md' jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Setup node 24 uses: actions/setup-node@v6 with: node-version: 24 - 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@v5 - name: Setup node 24 uses: actions/setup-node@v6 with: node-version: 24 - run: npm ci - run: npm run format-check test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Setup node 24 uses: actions/setup-node@v6 with: node-version: 24 - 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 - macos-26 - macos-15 - macos-14 - windows-2025 - windows-2022 cmdline-tools-version: - 14742923 - 12266719 - 11479570 - 11076708 - 10406996 - 9862592 - 9477386 - 9123335 - 8512546 steps: - uses: actions/checkout@v5 - name: Setup node 24 uses: actions/setup-node@v6 with: node-version: 24 - name: Set up JDK 17 uses: actions/setup-java@v5 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@v5 - name: Setup node 24 uses: actions/setup-node@v6 with: node-version: 24 - run: npm ci - run: npm run lint