squash #12
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: Firmware at GHA | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
build-firmware: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
# Build machines don't have arm-none-eabi gcc, so let's download it and put it on the path | |
- name: Download & Install GCC | |
if: ${{ env.skip != 'true' }} | |
env: | |
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' | |
run: | | |
ext/rusefi/firmware/provide_gcc.sh | |
echo "::add-path::`pwd`/gcc-arm-none-eabi/bin" | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: '11' | |
- name: Test Compiler | |
run: javac -version | |
- name: Install Tools | |
run: | | |
sudo bash ext/rusefi/misc/actions/add-ubuntu-latest-apt-mirrors.sh | |
sudo apt-get install sshpass sshpass mtools | |
- name: Removing other .ini files since we will be uploading | |
working-directory: ext/rusefi/ | |
run: rm -rf firmware/tunerstudio/generated/*.ini | |
- name: Gen Config | |
working-directory: ext/rusefi/firmware | |
run: | | |
bash gen_config_board.sh ../../.. paralela | |
- name: Config Status | |
working-directory: ext/rusefi | |
run: | | |
git status | |
- name: Push Config | |
run: | | |
mkdir -p generated | |
cp ext/rusefi/firmware/controllers/generated/rusefi_generated.h generated | |
cp ext/rusefi/firmware/controllers/generated/signature_paralela.h generated | |
cp ext/rusefi/firmware/tunerstudio/generated/rusefi_paralela.ini generated | |
git config --local user.email "[email protected]" | |
git config --local user.name "GitHub git update Action" | |
git add generated/* | |
git commit -am "GHA Automation Snapshot just for reference" | |
git status | |
- name: Connectors Status | |
run: | | |
git status | |
- name: Push Connectors | |
run: | | |
git add connectors/* | |
OUT=$(git commit -am "GHA Connectors Generated" 2>&1) || echo "commit failed, finding out why" | |
if echo "$OUT" | grep 'nothing to commit'; then | |
echo "Connectors: looks like nothing to commit" | |
exit 0 | |
fi | |
- name: Push | |
uses: ad-m/github-push-action@master | |
with: | |
github_token: ${{ github.token }} | |
- name: Upload .ini files to server | |
working-directory: ext/rusefi/firmware/tunerstudio/generated | |
run: ../upload_ini.sh rusefi_paralela.ini ${{ secrets.RUSEFI_ONLINE_FTP_USER }} ${{ secrets.RUSEFI_ONLINE_FTP_PASS }} ${{ secrets.RUSEFI_FTP_SERVER }} | |
- name: Build Firmware | |
working-directory: ext/rusefi | |
run: bash misc/jenkins/compile_other_versions/compile.sh ../../.. paralela | |
- name: Upload build bin artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: rusefi.bin | |
path: ext/rusefi/firmware/deliver/rusefi*.bin | |
- name: Upload build hex artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: rusefi.hex | |
path: ext/rusefi/firmware/deliver/rusefi*.hex | |
- name: Upload build map artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: rusefi.map | |
path: ext/rusefi/firmware/deliver/rusefi*.map | |
- name: Build console | |
working-directory: ext/rusefi/ | |
run: bash misc/jenkins/build_java_console.sh | |
- name: Set SSH variables | |
env: | |
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' | |
run: | | |
if [ "${{github.event_name}}" = "push" ] && [ "${{github.ref}}" = "refs/heads/master" ]; then | |
echo "Setting credentials..." | |
echo "RUSEFI_SSH_SERVER=${{secrets.RUSEFI_SSH_SERVER}}" >> $GITHUB_ENV | |
echo "RUSEFI_SSH_USER=${{secrets.RUSEFI_SSH_USER}}" >> $GITHUB_ENV | |
echo "RUSEFI_SSH_PASS=${{secrets.RUSEFI_SSH_PASS}}" >> $GITHUB_ENV | |
else | |
echo "NOT setting credentials: ${{github.event_name}} ${{github.ref}}" | |
fi | |
- name: Package and Upload Bundle | |
working-directory: ext/rusefi/ | |
run: bash misc/jenkins/compile_other_versions/prepare_bundle.sh paralela rusefi_paralela.ini master | |
- name: Upload bundle artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: rusefi_bundle_paralela.zip | |
path: ext/rusefi/artifacts/rusefi_bundle*.zip |