add all the platforms to pixi #14
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: Generate CI pipelines for ROS 2 packages | |
permissions: | |
actions: write | |
contents: write | |
env: | |
ROS_VERSION: 2 | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token | |
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' # Version range or exact version of a Python version to use, using SemVer's version range syntax | |
- name: Install vinca | |
run: | | |
pip install git+https://github.com/RoboStack/vinca.git@rattler-build | |
- name: Generate recipes for linux-64 | |
run: | | |
git clean -fdx | |
cp vinca_linux_64.yaml vinca.yaml | |
vinca --multiple --platform linux-64 | |
- name: Generate azure pipelines for linux-64 | |
run: | | |
vinca-gha --platform linux-64 --trigger-branch buildbranch_linux -d ./recipes --additional-recipes | |
- name: Commit files for linux-64 | |
run: | | |
if [[ -f "linux.yml" ]]; then | |
mv linux.yml .github/workflows/ | |
git config --local user.email "action@github.com" | |
git config --local user.name "GitHub Action" | |
git add . -f | |
git commit -m "Add build files `date '+%Y-%m-%d-%H%M'`" -a | |
remote_repo="https://${GITHUB_ACTOR}:${INPUT_GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" | |
git push "${remote_repo}" HEAD:buildbranch_linux --follow-tags --force | |
fi | |
env: | |
INPUT_GITHUB_TOKEN: ${{ secrets.GHA_PAT }} | |
# Generate recipes for osx | |
- name: Reset repo | |
run: | | |
git reset --hard origin/main | |
- name: Generate recipes for osx-64 | |
run: | | |
git clean -fdx | |
cp vinca_osx.yaml vinca.yaml | |
vinca --multiple --platform osx-64 | |
- name: Generate azure pipelines for osx-64 | |
run: | | |
vinca-gha --platform osx-64 --trigger-branch buildbranch_osx -d ./recipes --additional-recipes | |
- name: Commit files for osx-64 | |
run: | | |
if [[ -f "osx.yml" ]]; then | |
mv osx.yml .github/workflows/ | |
git config --local user.email "action@github.com" | |
git config --local user.name "GitHub Action" | |
git add . -f | |
git commit -m "Add build files `date '+%Y-%m-%d-%H%M'`" -a | |
remote_repo="https://${GITHUB_ACTOR}:${INPUT_GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" | |
git push "${remote_repo}" HEAD:buildbranch_osx --follow-tags --force | |
fi | |
env: | |
INPUT_GITHUB_TOKEN: ${{ secrets.GHA_PAT }} | |
# Generate recipes for osx-arm64 | |
- name: Reset repo | |
run: | | |
git reset --hard origin/main | |
- name: Generate recipes for osx-arm64 | |
run: | | |
git clean -fdx | |
cp vinca_osx_arm64.yaml vinca.yaml | |
vinca --multiple --platform osx-arm64 | |
- name: Generate azure pipelines for osx-arm64 | |
run: | | |
vinca-gha --platform osx-arm64 --trigger-branch buildbranch_osx_arm64 -d ./recipes --additional-recipes | |
- name: Commit files for osx-arm64 | |
run: | | |
if [[ -f "osx_arm64.yml" ]]; then | |
mv osx_arm64.yml .github/workflows/ | |
git config --local user.email "action@github.com" | |
git config --local user.name "GitHub Action" | |
git add . -f | |
git commit -m "Add build files `date '+%Y-%m-%d-%H%M'`" -a | |
remote_repo="https://${GITHUB_ACTOR}:${INPUT_GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" | |
git push "${remote_repo}" HEAD:buildbranch_osx_arm64 --follow-tags --force | |
fi | |
env: | |
INPUT_GITHUB_TOKEN: ${{ secrets.GHA_PAT }} | |
# Generate recipes for Windows | |
- name: Reset repo | |
run: | | |
git reset --hard origin/main | |
- name: Generate recipes for win-64 | |
run: | | |
git clean -fdx | |
cp vinca_win.yaml vinca.yaml | |
vinca --multiple --platform win-64 | |
- name: Generate azure pipelines for win-64 | |
run: | | |
vinca-gha --platform win-64 --trigger-branch buildbranch_win -d ./recipes --additional-recipes | |
- name: Commit files for win-64 | |
run: | | |
if [[ -f "win.yml" ]]; then | |
mv win.yml .github/workflows/ | |
git config --local user.email "action@github.com" | |
git config --local user.name "GitHub Action" | |
git add . -f | |
git commit -m "Add build files `date '+%Y-%m-%d-%H%M'`" -a | |
remote_repo="https://${GITHUB_ACTOR}:${INPUT_GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" | |
git push "${remote_repo}" HEAD:buildbranch_win --follow-tags --force | |
fi | |
env: | |
INPUT_GITHUB_TOKEN: ${{ secrets.GHA_PAT }} | |
# Generate recipes for Linux ARM64 | |
- name: Reset repo | |
run: | | |
git reset --hard origin/main | |
- name: Generate recipes for linux-aarch64 | |
run: | | |
git clean -fdx | |
cp vinca_linux_aarch64.yaml vinca.yaml | |
vinca --multiple --platform linux-aarch64 | |
- name: Generate azure pipelines for linux-aarch64 | |
run: | | |
vinca-gha --platform linux-aarch64 --trigger-branch buildbranch_linux_aarch64 -d ./recipes --additional-recipes --batch_size 1 | |
- name: Commit files for linux-aarch64 | |
run: | | |
if [[ -f "linux_aarch64.yml" ]]; then | |
mv linux_aarch64.yml .github/workflows/build_linux_aarch64.yml | |
git config --local user.email "action@github.com" | |
git config --local user.name "GitHub Action" | |
git add . -f | |
git commit -m "Add build files `date '+%Y-%m-%d-%H%M'`" -a | |
remote_repo="https://${GITHUB_ACTOR}:${INPUT_GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" | |
git push "${remote_repo}" HEAD:buildbranch_linux_aarch64 --follow-tags --force | |
fi | |
env: | |
INPUT_GITHUB_TOKEN: ${{ secrets.GHA_PAT }} | |
on: | |
push: | |
branches: | |
- master | |
- main |