diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..99cae506 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,67 @@ +name: Build and Publish + +on: + workflow_dispatch: + push: + branches: + - '*' + +jobs: + build_template: + runs-on: ubuntu-latest + + env: + TOOLCHAIN_UPDATE: 10.3-2021.10 + + steps: + + - name: Install SSH key + uses: webfactory/ssh-agent@v0.5.3 + with: + ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} + - name: Checkout code + uses: actions/checkout@v2 + with: + repository: purduesigbots/pros + ssh-key: ${{ secrets.SSH_PRIVATE_KEY }} + + - name: Retrieve gcc-arm-embedded from cache + id: cache-gcc + uses: actions/cache@v4 + with: + path: + ~/gcc-arm-none-eabi-${{env.TOOLCHAIN_UPDATE}} + key: + gcc-arm-none-eabi-${{env.TOOLCHAIN_UPDATE}} + + - name: Install gcc-arm-embedded + if: steps.cache-gcc.outputs.cache-hit != 'true' + run: | + curl -LSso toolchain.tar.bz2 "https://developer.arm.com/-/media/Files/downloads/gnu-rm/${TOOLCHAIN_UPDATE}/gcc-arm-none-eabi-${TOOLCHAIN_UPDATE}-x86_64-linux.tar.bz2" + tar -xjvf toolchain.tar.bz2 + + - name: Add gcc-arm-embedded to path + run: echo "$(pwd)/gcc-arm-none-eabi-${TOOLCHAIN_UPDATE}/bin" >> $GITHUB_PATH + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.9' + + - name: Install CLI + run: | + pip install pros-cli + + - name: Build template + run: | + git submodule init + git submodule update + make template + mkdir -p artifacts + cp template/*.zip artifacts + + - name: Publish artifacts + uses: actions/upload-artifact@v4 + with: + path: artifacts/kernel@*.zip + compression-level: 0