Skip to content

typo .github/workflows/github-actions.yaml #25

typo .github/workflows/github-actions.yaml

typo .github/workflows/github-actions.yaml #25

name: check_coding_style_test_build
on:
push:
pull_request:
branches: [ main ]
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
# https://github.com/marketplace/actions/checkout
- uses: actions/checkout@v3
# https://github.com/marketplace/actions/setup-python
- uses: actions/setup-python@v3
# https://github.com/pre-commit/action
- uses: pre-commit/[email protected]
cppcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: install dependencies
run: |
sudo apt-get update
sudo apt-get install cppcheck
- name: run cppcheck
run: cppcheck --suppress="*:test/*" --enable=warning,portability,information --error-exitcode=1 --language=c++ $(find -iname "*.ino") $(find -iname "*.cpp") $(find -iname "*.h")
arduino-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: arduino/arduino-lint-action@v1
with:
library-manager: update
compliance: strict
arduino_ci:
needs: [pre-commit, arduino-lint]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: install dependencies
run: |
echo "source 'https://rubygems.org'" > Gemfile
echo -n "gem 'arduino_ci', git:" >> Gemfile
echo " 'https://github.com/Arduino-CI/arduino_ci.git'" >> Gemfile
sudo gem install bundler
sudo bundle install
- name: set env
run: |
export EXPECT_UNITTESTS=1
export EXPECT_EXAMPLES=1
- name: mock Udp.h for unittests
run: sudo cp -p extras/udp_mock.h /var/lib/gems/*/bundler/gems/arduino_ci-*/cpp/arduino/Udp.h
- name: run arduino_ci
run: bundle exec arduino_ci.rb --skip-examples-compilation
arduino-cli:
needs: [pre-commit, arduino-lint]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: arduino/setup-arduino-cli@v1
- name: prepare arduino-cli
run: |
arduino-cli help
arduino-cli version
arduino-cli core install arduino:samd
arduino-cli lib install Ethernet WiFiNINA
- name: install precise_sntp by linking
run: |
p=$(pwd)
(cd ~/Arduino/libraries/ && ln -s $p)
- name: prepare examples
run: |
echo "#define SECRET_SSID \"foo\"" > examples/get_time_and_print_wifinina/arduino_secrets.h
echo "#define SECRET_PASS \"bar\"" >> examples/get_time_and_print_wifinina/arduino_secrets.h
- name: compile examples
run: "(cd examples && parallel -k -v arduino-cli compile -v -b ::: arduino:samd:mkr1000 arduino:samd:mkrwifi1010 arduino:samd:mkr1000 arduino:samd:mkr1000 arduino:samd:mkr1000 :::+ get_time_and_print_ethernet get_time_and_print_wifinina get_time_and_print_adapt_interval get_time_rarely_and_print get_time_once_and_print)"
release_job:
if: ${{ github.ref == 'refs/heads/main' }}
needs: [arduino_ci, arduino-cli]
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- name: set parameter as env
run: |
echo "commit=$GITHUB_SHA" >> $GITHUB_ENV
echo "tag=$(grep version library.properties | cut -d "=" -f 2)" >> $GITHUB_ENV
echo "body="$(grep sentence library.properties | cut -d "=" -f 2) $(grep paragraph library.properties | cut -d '=' -f 2)"" >> $GITHUB_ENV
cat $GITHUB_ENV
- uses: ncipollo/release-action@v1
with:
makeLatest: true
commit: ${{ env.commit }}
tag: ${{ env.tag }}
body: ${{ env.body }}
deploy_to_other_repo:
if: ${{ github.ref == 'refs/heads/main' }}
needs: [release_job]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: get repo
env:
backup_repo: ${{ secrets.backup_repo }}
run: |
repopath=$(mktemp -d)
git clone --bare --mirror "${{ github.server_url }}/${{ github.repository }}.git" "$repopath"
(cd $repopath && git for-each-ref --format 'delete %(refname)' refs/merge-requests | tee >(git update-ref --stdin))
(cd $repopath && git push --prune --mirror $backup_repo)