Skip to content

Commit d2f3972

Browse files
committed
CI: Added Buster/Stretch OS support for 64-bit envs (Fixes #61)
- Updated CI Bash scripts with new `-o` flag to support OS selection. - Updated YAMLs to include buster & stretch Pi OS support. - Updated and added new docs.
1 parent 8ded9bd commit d2f3972

12 files changed

+539
-42
lines changed

.github/workflows/builder_64.yml

+9-3
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ jobs:
5757
strategy:
5858
matrix:
5959
gcc_versions: [6.3.0, 8.3.0]
60+
rpios_types: [stretch, buster]
6061
env:
62+
RPIOS_TYPE: ${{ matrix.rpios_types }}
6163
GCC_VERSION: ${{ matrix.gcc_versions }}
6264
COMPILER_TYPE: CROSS
6365
BASE: true
@@ -84,7 +86,7 @@ jobs:
8486
source ~/.bashrc && echo $PATH
8587
if: success()
8688
- name: script
87-
run: bash build-scripts/CI/CIBB_64b -g $GCC_VERSION
89+
run: bash build-scripts/CI/CIBB_64b -g $GCC_VERSION -o $RPIOS_TYPE
8890
shell: bash
8991
if: success() && (github.event_name == 'pull_request' || github.event_name == 'release')
9092
- name: before_script
@@ -103,7 +105,9 @@ jobs:
103105
strategy:
104106
matrix:
105107
gcc_versions: [6.3.0, 8.3.0, 9.3.0, 10.2.0]
108+
rpios_types: [stretch, buster]
106109
env:
110+
RPIOS_TYPE: ${{ matrix.rpios_types }}
107111
GCC_VERSION: ${{ matrix.gcc_versions }}
108112
COMPILER_TYPE: CROSS
109113
steps:
@@ -129,7 +133,7 @@ jobs:
129133
source ~/.bashrc && echo $PATH
130134
if: success()
131135
- name: script
132-
run: bash build-scripts/CI/CICTB_64b -g $GCC_VERSION
136+
run: bash build-scripts/CI/CICTB_64b -g $GCC_VERSION -o $RPIOS_TYPE
133137
shell: bash
134138
if: success()
135139
- name: before_script
@@ -148,7 +152,9 @@ jobs:
148152
strategy:
149153
matrix:
150154
gcc_versions: [8.3.0, 9.3.0, 10.2.0]
155+
rpios_types: [stretch, buster]
151156
env:
157+
RPIOS_TYPE: ${{ matrix.rpios_types }}
152158
GCC_VERSION: ${{ matrix.gcc_versions }}
153159
COMPILER_TYPE: NATIVE
154160
steps:
@@ -174,7 +180,7 @@ jobs:
174180
source ~/.bashrc && echo $PATH
175181
if: success()
176182
- name: script
177-
run: bash build-scripts/CI/CINTB_64b -g $GCC_VERSION
183+
run: bash build-scripts/CI/CINTB_64b -g $GCC_VERSION -o $RPIOS_TYPE
178184
shell: bash
179185
if: success()
180186
- name: before_script

.github/workflows/docs.yml

+20-6
Original file line numberDiff line numberDiff line change
@@ -194,18 +194,32 @@ jobs:
194194
bash utils/SF_docs_deployer -t "native" -f "main" -o "stretch"
195195
shell: bash
196196
if: success()
197-
- name: move_deploy_cross_64
197+
- name: move_deploy_cross_64_buster
198+
run: |
199+
mkdir -p $HOME/main
200+
cp docs/cross-gcc64-buster.md $HOME/main/README.md
201+
bash utils/SF_docs_deployer -t "cross_64" -f "main" -o "buster"
202+
shell: bash
203+
if: success()
204+
- name: move_deploy_cross_64_stretch
205+
run: |
206+
mkdir -p $HOME/main
207+
cp docs/cross-gcc64-stretch.md $HOME/main/README.md
208+
bash utils/SF_docs_deployer -t "cross_64" -f "main" -o "stretch"
209+
shell: bash
210+
if: success()
211+
- name: move_deploy_native_64_buster
198212
run: |
199213
mkdir -p $HOME/main
200-
cp docs/cross-gcc64.md $HOME/main/README.md
201-
bash utils/SF_docs_deployer -t "cross_64" -f "main"
214+
cp docs/native-gcc64-buster.md $HOME/main/README.md
215+
bash utils/SF_docs_deployer -t "native_64" -f "main" -o "buster"
202216
shell: bash
203217
if: success()
204-
- name: move_deploy_native_64
218+
- name: move_deploy_native_64_stretch
205219
run: |
206220
mkdir -p $HOME/main
207-
cp docs/native-gcc64.md $HOME/main/README.md
208-
bash utils/SF_docs_deployer -t "native_64" -f "main"
221+
cp docs/native-gcc64-stretch.md $HOME/main/README.md
222+
bash utils/SF_docs_deployer -t "native_64" -f "main" -o "stretch"
209223
shell: bash
210224
if: success()
211225

build-scripts/CI/CIBB_64b

+9-9
Original file line numberDiff line numberDiff line change
@@ -33,41 +33,41 @@ helpfunction() {
3333
figlet -t -k -f /usr/share/figlet/term.flf "Copyright (c) 2020 abhiTronix"
3434
echo ""
3535
echo ""
36-
echo "Usage: $0 -g [GCC version] -t [OS Type]"
36+
echo "Usage: $0 -g [GCC version] -o [Target Pi OS type]"
3737
echo -e "\t-g GCC base version?: (6.3.0|8.3.0)"
38-
echo -e "\t-t What's yours Raspberry Pi OS type?: (1|2) [default:1]"
38+
echo -e "\t-o What's yours Target Raspberry Pi OS type?: (stretch|buster)"
3939
echo ""
4040
echo ""
4141
exit 1 # Exits script after printing help
4242
}
4343

4444
#input arguments handler
45-
while getopts "g:t:" opt; do
45+
while getopts "g:o:" opt; do
4646
case "$opt" in
4747
g) GCC_VERSION="$OPTARG" ;;
48-
t) OS_TYPE="$OPTARG" ;;
48+
o) RPIOS_TYPE="$OPTARG" ;;
4949
?) helpfunction ;; #prints help function for invalid parameter
5050
esac
5151
done
5252
#validates parameters and print usage helper function in case parameters are missing
5353
if [ -z "$GCC_VERSION" ]; then
5454
echo "Required parameter is missing!"
5555
helpfunction
56-
elif [ -z "$OS_TYPE" ]; then
57-
OS_TYPE=1
56+
elif [ -z "$RPIOS_TYPE" ]; then
57+
RPIOS_TYPE="stretch"
5858
else
5959
echo "Parameters configured!"
6060
fi
6161

6262
#collect dependencies versions from raspberry pi os
63-
if [ "$OS_TYPE" = "1" ]; then
63+
if [ "$RPIOS_TYPE" = "stretch" ]; then
6464
GLIBC_VERSION=2.24
6565
BINUTILS_VERSION=2.28
66-
elif [ "$OS_TYPE" = "2" ]; then
66+
elif [ "$RPIOS_TYPE" = "buster" ]; then
6767
GLIBC_VERSION=2.28
6868
BINUTILS_VERSION=2.31
6969
else
70-
echo "Invalid argument value: $OS_TYPE"
70+
echo "Invalid argument value: $RPIOS_TYPE"
7171
exit
7272
fi
7373

build-scripts/CI/CICTB_64b

+10-10
Original file line numberDiff line numberDiff line change
@@ -33,39 +33,39 @@ helpfunction() {
3333
figlet -t -k -f /usr/share/figlet/term.flf "Copyright (c) 2020 abhiTronix"
3434
echo ""
3535
echo ""
36-
echo "Usage: $0 -g [GCC version] -t [Target OS type]"
37-
echo -e "\t-g GCC version you want to compile?: (7.1.0|7.2.0|7.3.0|7.4.0|7.5.0|8.1.0|8.2.0|8.3.0|9.1.0|9.2.0|9.3.0)"
38-
echo -e "\t-t What's yours Target OS type?: (1|2) [default:1]"
36+
echo "Usage: $0 -g [GCC version] -o [Target OS type]"
37+
echo -e "\t-g GCC version you want to compile?: (7.1.0|7.2.0|7.3.0|7.4.0|7.5.0|8.1.0|8.2.0|8.3.0|9.1.0|9.2.0|9.3.0|10.1.0|10.2.0)"
38+
echo -e "\t-o What's yours Target Raspberry Pi OS type?: (stretch|buster)"
3939
echo ""
4040
echo ""
4141
exit 1 # Exits script after printing help
4242
}
4343

4444
#input arguments handler
45-
while getopts "g:t:" opt; do
45+
while getopts "g:o:" opt; do
4646
case "$opt" in
4747
g) GCC_VERSION="$OPTARG" ;;
48-
t) OS_TYPE="$OPTARG" ;;
48+
o) RPIOS_TYPE="$OPTARG" ;;
4949
?) helpfunction ;; #prints help function for invalid parameter
5050
esac
5151
done
5252
#validates parameters and print usage helper function in case parameters are missing
5353
if [ -z "$GCC_VERSION" ]; then
5454
echo "Error: Required parameter is missing!"
5555
helpfunction
56-
elif [ -z "$OS_TYPE" ]; then
57-
OS_TYPE=1
56+
elif [ -z "$RPIOS_TYPE" ]; then
57+
RPIOS_TYPE="stretch"
5858
else
5959
echo "Parameters configured!"
6060
fi
6161

6262
#collect dependencies versions from raspberry pi os
63-
if [ "$OS_TYPE" = "1" ] || [ "$GCC_VERSION" \< "8.3.0" ]; then
63+
if [ "$RPIOS_TYPE" = "stretch" ] || [ "$GCC_VERSION" \< "8.3.0" ]; then
6464
GCCBASE_VERSION=6.3.0
65-
elif [ "$OS_TYPE" = "2" ]; then
65+
elif [ "$RPIOS_TYPE" = "buster" ]; then
6666
GCCBASE_VERSION=8.3.0
6767
else
68-
echo "Invalid argument value: $OS_TYPE"
68+
echo "Invalid argument value: $RPIOS_TYPE"
6969
exit
7070
fi
7171

build-scripts/CI/CINTB_64b

+6-6
Original file line numberDiff line numberDiff line change
@@ -33,28 +33,28 @@ helpfunction() {
3333
figlet -t -k -f /usr/share/figlet/term.flf "Copyright (c) 2020 abhiTronix"
3434
echo ""
3535
echo ""
36-
echo "Usage: $0 -g [GCC version] -t [Target OS type]"
36+
echo "Usage: $0 -g [GCC version] -o [Target OS type]"
3737
echo -e "\t-g GCC version you want to compile?: (7.1.0|7.2.0|7.3.0|7.4.0|7.5.0|8.1.0|8.2.0|8.3.0|9.1.0|9.2.0|9.3.0|10.1.0|10.2.0)"
38-
echo -e "\t-t What's yours Target OS type?: (1|2) [default:1]"
38+
echo -e "\t-o What's yours Target Raspberry Pi OS type?: (stretch|buster)"
3939
echo ""
4040
echo ""
4141
exit 1 # Exits script after printing help
4242
}
4343

4444
#input arguments handler
45-
while getopts "g:t:" opt; do
45+
while getopts "g:o:" opt; do
4646
case "$opt" in
4747
g) GCC_VERSION="$OPTARG" ;;
48-
t) OS_TYPE="$OPTARG" ;;
48+
o) RPIOS_TYPE="$OPTARG" ;;
4949
?) helpfunction ;; #prints help function for invalid parameter
5050
esac
5151
done
5252
#validates parameters and print usage helper function in case parameters are missing
5353
if [ -z "$GCC_VERSION" ]; then
5454
echo "Error: Required parameter is missing!"
5555
helpfunction
56-
elif [ -z "$OS_TYPE" ]; then
57-
OS_TYPE=1
56+
elif [ -z "$RPIOS_TYPE" ]; then
57+
RPIOS_TYPE="stretch"
5858
else
5959
echo "Parameters configured!"
6060
fi

build-scripts/RTBuilder_32b

+1-1
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ TARGET=arm-linux-gnueabihf
132132
GDB_VERSION=9.2
133133

134134
#validate env variables
135-
if ! [[ "$GCC_VERSION" =~ ^(7.1.0|7.2.0|7.3.0|7.4.0|7.5.0|8.1.0|8.2.0|8.3.0|9.1.0|9.2.0|9.3.0|10.1.0|10.2.0)$ ]]; then exit 1; fi
135+
if ! [[ "$GCC_VERSION" =~ ^(6.3.0|7.1.0|7.2.0|7.3.0|7.4.0|7.5.0|8.1.0|8.2.0|8.3.0|9.1.0|9.2.0|9.3.0|10.1.0|10.2.0)$ ]]; then exit 1; fi
136136
if ! [[ "$GCCBASE_VERSION" =~ ^(6.3.0|8.3.0)$ ]]; then exit 1; fi
137137
if ! [[ "$GLIBC_VERSION" =~ ^(2.24|2.28)$ ]]; then exit 1; fi
138138
if ! [[ "$BINUTILS_VERSION" =~ ^(2.28|2.31)$ ]]; then exit 1; fi

docs/cross-gcc64.md renamed to docs/cross-gcc64-buster.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
2525

2626
<br>
2727

28-
<h1 align=center><img alt="Description" title="Toolchain Description" src="https://raw.githubusercontent.com/abhiTronix/Imbakup/master/Images/gcc/cross-gcc64.png"></h1>
28+
<h1 align=center><img alt="Description" title="Toolchain Description" src="https://raw.githubusercontent.com/abhiTronix/Imbakup/master/Images/gcc/cross-gcc64-buster.png"></h1>
2929

3030

3131
### TL'DR

0 commit comments

Comments
 (0)