nix-transitive #52
This file contains 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
name: nix-transitive | |
on: | |
workflow_run: | |
workflows: [nix-upstream] | |
types: [completed] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
_01-find-package: | |
if: ${{ github.event.workflow_run.conclusion == 'success' }} | |
strategy: | |
matrix: | |
platform: | |
- ubuntu | |
- macos | |
generator: | |
- { name: Ninja, multi: false } | |
- { name: Unix Makefiles, multi: false } | |
shared: | |
- ON | |
- OFF | |
flavor: | |
- Debug | |
- Release | |
runs-on: ${{ matrix.platform }}-latest | |
env: | |
generator: ${{ matrix.generator.name }} | |
multi: ${{ matrix.generator.multi && 'true' || '' }} | |
shared: ${{ matrix.shared }} | |
flavor: ${{ matrix.flavor }} | |
install_dir: /usr/local | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: install environment | |
uses: ./.github/actions/install-nix | |
with: | |
cache-key-python: ${{ secrets.CACHE_PYTHON }} | |
- name: export cupcake | |
uses: ./.github/actions/export-cupcake | |
- name: install 00-upstream | |
working-directory: 00-upstream | |
run: | | |
make build | |
sudo install_dir="${install_dir}" make install | |
make clean | |
- name: test project | |
uses: ./.github/actions/test-project | |
with: | |
working-directory: 01-find-package | |
executable: hello | |
_02-add-subdirectory: | |
if: ${{ github.event.workflow_run.conclusion == 'success' }} | |
strategy: | |
matrix: | |
platform: | |
- ubuntu | |
- macos | |
generator: | |
- { name: Ninja, multi: false } | |
- { name: Unix Makefiles, multi: false } | |
shared: | |
- ON | |
- OFF | |
flavor: | |
- Debug | |
- Release | |
runs-on: ${{ matrix.platform }}-latest | |
env: | |
generator: ${{ matrix.generator.name }} | |
multi: ${{ matrix.generator.multi && 'true' || '' }} | |
shared: ${{ matrix.shared }} | |
flavor: ${{ matrix.flavor }} | |
install_dir: /usr/local | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: install environment | |
uses: ./.github/actions/install-nix | |
with: | |
cache-key-python: ${{ secrets.CACHE_PYTHON }} | |
- name: export cupcake | |
uses: ./.github/actions/export-cupcake | |
- name: copy 00-upstream | |
run: | | |
cp -r 00-upstream 02-add-subdirectory/external | |
- name: test project | |
uses: ./.github/actions/test-project | |
with: | |
working-directory: 02-add-subdirectory | |
executable: goodbye | |
_03-fp-fp: | |
needs: _01-find-package | |
strategy: | |
matrix: | |
platform: | |
- ubuntu | |
- macos | |
generator: | |
- { name: Ninja, multi: false } | |
- { name: Unix Makefiles, multi: false } | |
shared: | |
- ON | |
- OFF | |
flavor: | |
- Debug | |
- Release | |
runs-on: ${{ matrix.platform }}-latest | |
env: | |
generator: ${{ matrix.generator.name }} | |
multi: ${{ matrix.generator.multi && 'true' || '' }} | |
shared: ${{ matrix.shared }} | |
flavor: ${{ matrix.flavor }} | |
install_dir: /usr/local | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: install environment | |
uses: ./.github/actions/install-nix | |
with: | |
cache-key-python: ${{ secrets.CACHE_PYTHON }} | |
- name: export cupcake | |
uses: ./.github/actions/export-cupcake | |
- name: install 00-upstream | |
working-directory: 00-upstream | |
run: | | |
make build | |
sudo install_dir="${install_dir}" make install | |
make clean | |
- name: install 01-find-package | |
working-directory: 01-find-package | |
run: | | |
make build | |
sudo install_dir="${install_dir}" make install | |
make clean | |
- name: test project | |
uses: ./.github/actions/test-project | |
with: | |
working-directory: 03-fp-fp | |
executable: aloha | |
_04-as-fp: | |
needs: _02-add-subdirectory | |
strategy: | |
matrix: | |
platform: | |
- ubuntu | |
- macos | |
generator: | |
- { name: Ninja, multi: false } | |
- { name: Unix Makefiles, multi: false } | |
shared: | |
- ON | |
- OFF | |
flavor: | |
- Debug | |
- Release | |
runs-on: ${{ matrix.platform }}-latest | |
env: | |
generator: ${{ matrix.generator.name }} | |
multi: ${{ matrix.generator.multi && 'true' || '' }} | |
shared: ${{ matrix.shared }} | |
flavor: ${{ matrix.flavor }} | |
install_dir: /usr/local | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: install environment | |
uses: ./.github/actions/install-nix | |
with: | |
cache-key-python: ${{ secrets.CACHE_PYTHON }} | |
- name: export cupcake | |
uses: ./.github/actions/export-cupcake | |
- name: copy 00-upstream | |
run: | | |
cp -r 00-upstream 02-add-subdirectory/external | |
- name: install 02-add-subdirectory | |
working-directory: 02-add-subdirectory | |
run: | | |
make build | |
sudo install_dir="${install_dir}" make install | |
make clean | |
- name: test project | |
uses: ./.github/actions/test-project | |
with: | |
working-directory: 04-as-fp | |
executable: four | |
_06-fp-fc: | |
needs: _01-find-package | |
strategy: | |
matrix: | |
platform: | |
- ubuntu | |
- macos | |
generator: | |
- { name: Ninja, multi: false } | |
- { name: Unix Makefiles, multi: false } | |
shared: | |
- ON | |
- OFF | |
flavor: | |
- Debug | |
- Release | |
runs-on: ${{ matrix.platform }}-latest | |
env: | |
generator: ${{ matrix.generator.name }} | |
multi: ${{ matrix.generator.multi && 'true' || '' }} | |
shared: ${{ matrix.shared }} | |
flavor: ${{ matrix.flavor }} | |
install_dir: /usr/local | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: install environment | |
uses: ./.github/actions/install-nix | |
with: | |
cache-key-python: ${{ secrets.CACHE_PYTHON }} | |
- name: export cupcake | |
uses: ./.github/actions/export-cupcake | |
- name: install 00-upstream | |
working-directory: 00-upstream | |
run: | | |
make build | |
sudo install_dir="${install_dir}" make install | |
make clean | |
- name: test project | |
uses: ./.github/actions/test-project | |
with: | |
working-directory: 06-fp-fc | |
executable: six | |
_07-as-fc: | |
needs: _02-add-subdirectory | |
strategy: | |
matrix: | |
platform: | |
- ubuntu | |
- macos | |
generator: | |
- { name: Ninja, multi: false } | |
- { name: Unix Makefiles, multi: false } | |
shared: | |
- ON | |
- OFF | |
flavor: | |
- Debug | |
- Release | |
runs-on: ${{ matrix.platform }}-latest | |
env: | |
generator: ${{ matrix.generator.name }} | |
multi: ${{ matrix.generator.multi && 'true' || '' }} | |
shared: ${{ matrix.shared }} | |
flavor: ${{ matrix.flavor }} | |
install_dir: /usr/local | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: install environment | |
uses: ./.github/actions/install-nix | |
with: | |
cache-key-python: ${{ secrets.CACHE_PYTHON }} | |
- name: export cupcake | |
uses: ./.github/actions/export-cupcake | |
- name: copy 00-upstream | |
run: | | |
cp -r 00-upstream 02-add-subdirectory/external | |
- name: test project | |
uses: ./.github/actions/test-project | |
with: | |
working-directory: 07-as-fc | |
executable: seven |