Skip to content

Commit 9fdd076

Browse files
Merge pull request #1 from wep21/jazzy-main
feat: copy from jazzy
2 parents 7db3f5f + ef5dec3 commit 9fdd076

File tree

181 files changed

+19950
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

181 files changed

+19950
-1
lines changed

.github/FUNDING.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
github: RoboStack
2+
open_collective: robostack
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Bug report
2+
description: Report a bug.
3+
labels: bug
4+
body:
5+
- type: checkboxes
6+
id: documentation
7+
attributes:
8+
label: Solution to issue cannot be found in the documentation.
9+
description: |
10+
I read [the RoboStack documentation](https://robostack.github.io/) and could not find the solution for my problem there.
11+
options:
12+
- label: I checked the documentation.
13+
required: true
14+
15+
- type: textarea
16+
id: Issue
17+
attributes:
18+
label: Issue
19+
description: |
20+
Please describe the issue you are experiencing:
21+
validations:
22+
required: true
23+
24+
- type: textarea
25+
id: environment
26+
attributes:
27+
label: Installed packages
28+
description: |
29+
Please share your installed packages by running `mamba list` and entering the output below:
30+
_Note:_ This will be automatically formatted as code.
31+
placeholder: "mamba list"
32+
render: shell
33+
validations:
34+
required: true
35+
36+
- type: textarea
37+
id: info
38+
attributes:
39+
label: Environment info
40+
description: |
41+
Please share your environment by running `mamba info` and entering the output below:
42+
_Note:_ This will be automatically formatted as code.
43+
placeholder: "mamba info"
44+
render: shell
45+
validations:
46+
required: true
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Missing Package Request
2+
description: Request a ROS package to be packaged in RoboStack
3+
title: 'Package request: PACKAGE_NAME'
4+
labels: additional-packages
5+
body:
6+
- type: input
7+
id: package_name
8+
attributes:
9+
label: Package name
10+
description: |
11+
Replace `PACKAGE_NAME` with the name of the missing package.
12+
placeholder: PACKAGE_NAME
13+
validations:
14+
required: true
15+
16+
- type: checkboxes
17+
id: operating_systems
18+
attributes:
19+
label: Operating System(s)
20+
options:
21+
- label: linux-64
22+
- label: linux-aarch64
23+
- label: osx-64
24+
- label: osx-arm64
25+
- label: win-64
26+
27+
- type: textarea
28+
id: additional_context
29+
attributes:
30+
label: Additional context (optional)
31+
description: |
32+
Add any additional information or context about the missing package request, such as its importance or use cases.
33+
validations:
34+
required: false
35+
36+
- type: textarea
37+
id: links_and_references
38+
attributes:
39+
label: Links and references (optional)
40+
description: |
41+
- Package repository: (Provide the URL of the package's source repository, if available)
42+
- Other relevant links: (Provide any other relevant links, if available)
43+
validations:
44+
required: false
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
name: Build RoboStack installer
2+
on: [workflow_dispatch]
3+
4+
jobs:
5+
build:
6+
name: ${{ matrix.MINIFORGE_NAME }}-${{ matrix.OS_NAME }}-${{ matrix.ARCH }}
7+
runs-on: ${{ matrix.os }}
8+
strategy:
9+
fail-fast: false
10+
matrix:
11+
include:
12+
- os: windows-latest
13+
ARCH: x86_64
14+
MINIFORGE_NAME: "rosdesktop"
15+
OS_NAME: "Windows"
16+
17+
- os: macos-latest
18+
ARCH: x86_64
19+
MINIFORGE_NAME: "rosdesktop"
20+
OS_NAME: "MacOSX"
21+
22+
- os: ubuntu-latest
23+
ARCH: aarch64
24+
DOCKER_ARCH: arm64v8
25+
DOCKERIMAGE: condaforge/linux-anvil-aarch64
26+
MINIFORGE_NAME: "rosdesktop"
27+
OS_NAME: "Linux"
28+
29+
- os: ubuntu-latest
30+
ARCH: x86_64
31+
DOCKER_ARCH: amd64
32+
DOCKERIMAGE: condaforge/linux-anvil-cos7-x86_64
33+
MINIFORGE_NAME: "rosdesktop"
34+
OS_NAME: "Linux"
35+
36+
steps:
37+
- name: Checkout code
38+
uses: actions/checkout@v2
39+
40+
- uses: conda-incubator/setup-miniconda@v2
41+
with:
42+
miniconda-version: "latest"
43+
if: contains(matrix.OS_NAME, 'Windows')
44+
45+
- name: Build and test miniforge
46+
env:
47+
ARCH: ${{ matrix.ARCH }}
48+
MINIFORGE_NAME: ${{ matrix.MINIFORGE_NAME }}
49+
OS_NAME: ${{ matrix.OS_NAME }}
50+
DOCKERIMAGE: ${{ matrix.DOCKERIMAGE }}
51+
DOCKER_ARCH: ${{ matrix.DOCKER_ARCH }}
52+
run: |
53+
cd constructor_scripts;
54+
if [[ "$GITHUB_REF" == refs/tags/* ]]; then
55+
export MINIFORGE_VERSION=${GITHUB_REF##*/};
56+
fi
57+
if [[ "$OS_NAME" == "Linux" ]]; then
58+
bash build_robostack_installer.sh;
59+
EXT=sh
60+
fi
61+
if [[ "$OS_NAME" == "MacOSX" ]]; then
62+
bash build_robostack_installer_osx.sh;
63+
EXT=sh
64+
fi
65+
if [[ "$OS_NAME" == "Windows" ]]; then
66+
source /c/Miniconda3/Scripts/activate;
67+
source build_robostack_installer_win.sh;
68+
EXT=exe
69+
fi
70+
# Copy for latest release
71+
cp build/$MINIFORGE_NAME-*-$OS_NAME-$ARCH.$EXT build/$MINIFORGE_NAME-$OS_NAME-$ARCH.$EXT
72+
ls -alh build
73+
shell: bash
74+
75+
- name: Upload robostack installer to Github artifact
76+
# if: ${{ !startsWith(github.ref, 'refs/tags/') }}
77+
uses: actions/upload-artifact@v2
78+
with:
79+
name: ${{ matrix.MINIFORGE_NAME }}-${{ matrix.OS_NAME }}-${{ matrix.ARCH }}
80+
path: constructor_scripts/build/${{ matrix.MINIFORGE_NAME }}-${{ matrix.OS_NAME }}-${{ matrix.ARCH }}*
81+
82+
- name: Upload robostack installer to release
83+
uses: svenstaro/upload-release-action@v2
84+
with:
85+
repo_token: ${{ secrets.GITHUB_TOKEN }}
86+
file: constructor_scripts/build/${{ matrix.MINIFORGE_NAME }}-${{ matrix.OS_NAME }}-${{ matrix.ARCH }}*
87+
tag: ${{ github.ref }}
88+
overwrite: true
89+
file_glob: true
90+
if: startsWith(github.ref, 'refs/tags/')

.github/workflows/main.yml

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
name: Generate CI pipelines for ROS 2 packages
2+
3+
permissions:
4+
actions: write
5+
contents: write
6+
7+
env:
8+
ROS_VERSION: 2
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
with:
16+
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token
17+
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
18+
- uses: actions/setup-python@v5
19+
with:
20+
python-version: '3.11' # Version range or exact version of a Python version to use, using SemVer's version range syntax
21+
- name: Install vinca
22+
run: |
23+
pip install git+https://github.com/RoboStack/vinca.git
24+
25+
- name: Generate recipes for linux-64
26+
run: |
27+
git clean -fdx
28+
cp vinca_linux_64.yaml vinca.yaml
29+
vinca --multiple --platform linux-64
30+
- name: Generate azure pipelines for linux-64
31+
run: |
32+
vinca-gha --platform linux-64 --trigger-branch buildbranch_linux -d ./recipes --additional-recipes
33+
- name: Commit files for linux-64
34+
run: |
35+
if [[ -f "linux.yml" ]]; then
36+
mv linux.yml .github/workflows/
37+
git config --local user.email "action@github.com"
38+
git config --local user.name "GitHub Action"
39+
git add . -f
40+
git commit -m "Add build files `date '+%Y-%m-%d-%H%M'`" -a
41+
remote_repo="https://${GITHUB_ACTOR}:${INPUT_GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
42+
git push "${remote_repo}" HEAD:buildbranch_linux --follow-tags --force
43+
fi
44+
env:
45+
INPUT_GITHUB_TOKEN: ${{ secrets.GHA_PAT }}
46+
47+
# Generate recipes for osx
48+
- name: Reset repo
49+
run: |
50+
git reset --hard origin/main
51+
- name: Generate recipes for osx-64
52+
run: |
53+
git clean -fdx
54+
cp vinca_osx.yaml vinca.yaml
55+
vinca --multiple --platform osx-64
56+
- name: Generate azure pipelines for osx-64
57+
run: |
58+
vinca-gha --platform osx-64 --trigger-branch buildbranch_osx -d ./recipes --additional-recipes
59+
- name: Commit files for osx-64
60+
run: |
61+
if [[ -f "osx.yml" ]]; then
62+
mv osx.yml .github/workflows/
63+
git config --local user.email "action@github.com"
64+
git config --local user.name "GitHub Action"
65+
git add . -f
66+
git commit -m "Add build files `date '+%Y-%m-%d-%H%M'`" -a
67+
remote_repo="https://${GITHUB_ACTOR}:${INPUT_GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
68+
git push "${remote_repo}" HEAD:buildbranch_osx --follow-tags --force
69+
fi
70+
env:
71+
INPUT_GITHUB_TOKEN: ${{ secrets.GHA_PAT }}
72+
73+
# Generate recipes for osx-arm64
74+
- name: Reset repo
75+
run: |
76+
git reset --hard origin/main
77+
- name: Generate recipes for osx-arm64
78+
run: |
79+
git clean -fdx
80+
cp vinca_osx_arm64.yaml vinca.yaml
81+
vinca --multiple --platform osx-arm64
82+
- name: Generate azure pipelines for osx-arm64
83+
run: |
84+
vinca-gha --platform osx-arm64 --trigger-branch buildbranch_osx_arm64 -d ./recipes --additional-recipes
85+
- name: Commit files for osx-arm64
86+
run: |
87+
if [[ -f "osx_arm64.yml" ]]; then
88+
mv osx_arm64.yml .github/workflows/
89+
git config --local user.email "action@github.com"
90+
git config --local user.name "GitHub Action"
91+
git add . -f
92+
git commit -m "Add build files `date '+%Y-%m-%d-%H%M'`" -a
93+
remote_repo="https://${GITHUB_ACTOR}:${INPUT_GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
94+
git push "${remote_repo}" HEAD:buildbranch_osx_arm64 --follow-tags --force
95+
fi
96+
env:
97+
INPUT_GITHUB_TOKEN: ${{ secrets.GHA_PAT }}
98+
99+
# Generate recipes for Windows
100+
- name: Reset repo
101+
run: |
102+
git reset --hard origin/main
103+
- name: Generate recipes for win-64
104+
run: |
105+
git clean -fdx
106+
cp vinca_win.yaml vinca.yaml
107+
vinca --multiple --platform win-64
108+
- name: Generate azure pipelines for win-64
109+
run: |
110+
vinca-gha --platform win-64 --trigger-branch buildbranch_win -d ./recipes --additional-recipes
111+
- name: Commit files for win-64
112+
run: |
113+
if [[ -f "win.yml" ]]; then
114+
mv win.yml .github/workflows/
115+
git config --local user.email "action@github.com"
116+
git config --local user.name "GitHub Action"
117+
git add . -f
118+
git commit -m "Add build files `date '+%Y-%m-%d-%H%M'`" -a
119+
remote_repo="https://${GITHUB_ACTOR}:${INPUT_GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
120+
git push "${remote_repo}" HEAD:buildbranch_win --follow-tags --force
121+
fi
122+
env:
123+
INPUT_GITHUB_TOKEN: ${{ secrets.GHA_PAT }}
124+
125+
# Generate recipes for Linux ARM64
126+
- name: Reset repo
127+
run: |
128+
git reset --hard origin/main
129+
- name: Generate recipes for linux-aarch64
130+
run: |
131+
git clean -fdx
132+
cp vinca_linux_aarch64.yaml vinca.yaml
133+
vinca --multiple --platform linux-aarch64
134+
- name: Generate azure pipelines for linux-aarch64
135+
run: |
136+
vinca-gha --platform linux-aarch64 --trigger-branch buildbranch_linux_aarch64 -d ./recipes --additional-recipes
137+
- name: Commit files for linux-aarch64
138+
run: |
139+
if [[ -f "linux_aarch64.yml" ]]; then
140+
mv linux_aarch64.yml .github/workflows/build_linux_aarch64.yml
141+
git config --local user.email "action@github.com"
142+
git config --local user.name "GitHub Action"
143+
git add . -f
144+
git commit -m "Add build files `date '+%Y-%m-%d-%H%M'`" -a
145+
remote_repo="https://${GITHUB_ACTOR}:${INPUT_GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
146+
git push "${remote_repo}" HEAD:buildbranch_linux_aarch64 --follow-tags --force
147+
fi
148+
env:
149+
INPUT_GITHUB_TOKEN: ${{ secrets.GHA_PAT }}
150+
151+
on:
152+
push:
153+
branches:
154+
- master
155+
- main

0 commit comments

Comments
 (0)