build #70
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # imglib2-cellpose CI Build | |
| # | |
| # Caching Strategy: | |
| # 1. Maven dependencies (via setup-java cache: 'maven') | |
| # 2. Appose environments and tool binaries (~/.local/share/appose) | |
| # - Includes pixi executable | |
| # - Includes built cellpose environments | |
| # 3. Pixi package cache (rattler cache): | |
| # - Linux: ~/.cache/rattler/cache | |
| # 4. uv package cache (used by pixi for PyPI dependencies): | |
| # - Linux: ~/.cache/uv | |
| # | |
| # Cache keys are based on: | |
| # - pom.xml hash (appose version changes) | |
| # - src/main/resources/pixi.toml hash (environment spec changes) | |
| name: build | |
| on: | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - "*-[0-9]+.*" | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Java | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '21' | |
| distribution: 'zulu' | |
| cache: 'maven' | |
| - name: Cache Appose environments and tools | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.local/share/appose | |
| key: ${{ runner.os }}-appose-${{ hashFiles('pom.xml') }}-${{ hashFiles('src/main/resources/pixi.toml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-appose-${{ hashFiles('pom.xml') }}- | |
| ${{ runner.os }}-appose- | |
| - name: Cache Pixi packages (Rattler cache) | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/rattler/cache | |
| key: ${{ runner.os }}-pixi-pkgs-${{ hashFiles('src/main/resources/pixi.toml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pixi-pkgs- | |
| - name: Cache uv packages | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/uv | |
| key: ${{ runner.os }}-uv-pkgs-${{ hashFiles('src/main/resources/pixi.toml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-uv-pkgs- | |
| - name: Set up CI environment | |
| run: .github/setup.sh | |
| shell: bash | |
| - name: Execute the build | |
| run: .github/build.sh | |
| shell: bash | |
| env: | |
| GPG_KEY_NAME: ${{ secrets.GPG_KEY_NAME }} | |
| GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | |
| MAVEN_USER: ${{ secrets.MAVEN_USER }} | |
| MAVEN_PASS: ${{ secrets.MAVEN_PASS }} | |
| CENTRAL_USER: ${{ secrets.CENTRAL_USER }} | |
| CENTRAL_PASS: ${{ secrets.CENTRAL_PASS }} | |
| SIGNING_ASC: ${{ secrets.SIGNING_ASC }} |