Skip to content

nix-transitive

nix-transitive #53

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