-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Transition from TravisCI to GitHub CI #7444
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 5 commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
935809e
Transition from TravisCI to GitHub CI
earlephilhower bf6def2
Merge branch 'master' of https://github.com/esp8266/Arduino into toghci
earlephilhower 35ef755
Remove non-CI changes
earlephilhower 2e82f33
Change docs to use a GH Deploy Key
earlephilhower 7a07644
Undo add'l documentation change
earlephilhower 81d9689
Update upload_release.py
earlephilhower 42d4a97
Add copious documentation to YML files
earlephilhower fcf2a6b
Update debug6.sh to remove dead line
earlephilhower ab9cbf0
Merge branch 'master' into toghci
d-a-v b1b08e8
Re-add basic TravisCI testing
earlephilhower 08c1ce8
Halve PIO runs, they're 2x slower than Arduino
earlephilhower b338cd8
Merge branch 'master' into toghci
earlephilhower 2d08c09
Use single GitHub Secret for deployment
earlephilhower a5aa3d6
Update package and update script
earlephilhower 21ed7ee
Remove my local repo from testing, validated naming
earlephilhower File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,242 @@ | ||
# Run whenever a PR is generated or updated. Do the normal suite of tests | ||
# and report success/fail in the PR. | ||
|
||
name: ESP8266 Arduino CI | ||
|
||
on: | ||
pull_request: | ||
|
||
|
||
jobs: | ||
|
||
build-linux: | ||
name: Build ${{ matrix.chunk }} | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
chunk: [0, 1, 2, 3, 4, 5, 6, 7] | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.x' | ||
- name: Cache Linux toolchain | ||
id: cache-linux | ||
uses: actions/cache@v2 | ||
with: | ||
path: ./tools/dist | ||
key: key-linux-toolchain | ||
- name: Build Sketches | ||
env: | ||
TRAVIS_BUILD_DIR: ${{ github.workspace }} | ||
TRAVIS_TAG: ${{ github.ref }} | ||
BUILD_PARITY: custom | ||
mod: 8 | ||
rem: ${{ matrix.chunk }} | ||
run: | | ||
bash ./tests/build.sh | ||
|
||
|
||
build-debug-ipv6: | ||
name: Debug IPv6 ${{ matrix.chunk }} | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
chunk: [0, 1, 2, 3, 4, 5, 6, 7] | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.x' | ||
- name: Cache Linux toolchain | ||
id: cache-linux | ||
uses: actions/cache@v2 | ||
with: | ||
path: ./tools/dist | ||
key: key-linux-toolchain | ||
- name: Build Sketches | ||
env: | ||
TRAVIS_BUILD_DIR: ${{ github.workspace }} | ||
TRAVIS_TAG: ${{ github.ref }} | ||
BUILD_PARITY: custom | ||
mod: 8 | ||
rem: ${{ matrix.chunk }} | ||
run: | | ||
bash ./tests/debug6.sh | ||
|
||
|
||
build-windows: | ||
name: Windows | ||
runs-on: windows-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.x' | ||
- name: Cache Windows toolchain | ||
id: cache-windows | ||
uses: actions/cache@v2 | ||
with: | ||
path: ./tools/dist | ||
key: key-windows-toolchain | ||
- name: Build Sketch | ||
env: | ||
TRAVIS_BUILD_DIR: ${{ github.workspace }} | ||
TRAVIS_TAG: ${{ github.ref }} | ||
WINDOWS: 1 | ||
BUILD_PARITY: custom | ||
mod: 500 | ||
rem: 1 | ||
run: | | ||
copy (get-command python).source (get-command python).source.Replace("python.exe", "python3.exe") | ||
bash ./tests/build.sh | ||
|
||
|
||
build-mac: | ||
name: Mac | ||
runs-on: macOS-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.x' | ||
- name: Cache Mac toolchain | ||
id: cache-mac | ||
uses: actions/cache@v2 | ||
with: | ||
path: ./tools/dist | ||
key: key-mac-toolchain | ||
- name: Build Sketch | ||
env: | ||
TRAVIS_BUILD_DIR: ${{ github.workspace }} | ||
TRAVIS_TAG: ${{ github.ref }} | ||
MACOSX: 1 | ||
BUILD_PARITY: custom | ||
mod: 500 | ||
rem: 1 | ||
run: | | ||
bash ./tests/build.sh | ||
|
||
|
||
build-pio: | ||
name: Build Platform.IO | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.x' | ||
- name: Build subset on Platform.IO | ||
env: | ||
TRAVIS_BUILD_DIR: ${{ github.workspace }} | ||
TRAVIS_TAG: ${{ github.ref }} | ||
BUILD_PARITY: custom | ||
mod: 42 | ||
devyte marked this conversation as resolved.
Show resolved
Hide resolved
|
||
rem: 13 | ||
run: | | ||
devyte marked this conversation as resolved.
Show resolved
Hide resolved
|
||
sudo apt-get install python3-pip python3-setuptools | ||
PATH=/home/runner/.local/bin:$PATH bash ./tests/platformio.sh | ||
|
||
|
||
host-tests: | ||
name: Host tests | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.x' | ||
- name: Run host tests | ||
env: | ||
TRAVIS_BUILD_DIR: ${{ github.workspace }} | ||
TRAVIS_TAG: ${{ github.ref }} | ||
run: | | ||
sudo apt-get install valgrind lcov | ||
bash ./tests/ci/host_test.sh | ||
|
||
|
||
documentation: | ||
name: Documentation | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.x' | ||
- name: Build documentation | ||
env: | ||
TRAVIS_BUILD_DIR: ${{ github.workspace }} | ||
TRAVIS_TAG: ${{ github.ref }} | ||
run: | | ||
sudo apt-get install python3-pip python3-setuptools | ||
PATH=/home/runner/.local/bin:$PATH pip3 install --user -r doc/requirements.txt | ||
PATH=/home/runner/.local/bin:$PATH bash ./tests/ci/build_docs.sh | ||
|
||
|
||
style-check: | ||
name: Style and formatting | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.x' | ||
- name: Style check | ||
env: | ||
TRAVIS_BUILD_DIR: ${{ github.workspace }} | ||
TRAVIS_TAG: ${{ github.ref }} | ||
run: | | ||
sudo apt-get install astyle | ||
bash ./tests/ci/style_check.sh | ||
|
||
|
||
mock-check: | ||
name: Mock trivial test | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.x' | ||
- name: Mock build | ||
env: | ||
TRAVIS_BUILD_DIR: ${{ github.workspace }} | ||
TRAVIS_TAG: ${{ github.ref }} | ||
run: | | ||
bash ./tests/buildm.sh | ||
|
||
|
||
boards-check: | ||
name: Boards.txt check | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.x' | ||
- name: Boards.txt diff | ||
env: | ||
TRAVIS_BUILD_DIR: ${{ github.workspace }} | ||
TRAVIS_TAG: ${{ github.ref }} | ||
run: | | ||
bash ./tests/ci/build_boards.sh |
This file contains hidden or 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Whenever a release is published from a draft, this will update the | ||
# master Arduino JSON file to add its new entry. | ||
|
||
# We keep the master JSON file in another repo, so we need to use a pre-set GH | ||
# SSH key to be able to push a change to the repo. | ||
|
||
# At some point this should really be moved to the main repo to avoid this grief | ||
|
||
#### Steps to follow when you need to make a new SSH key for upload (not | ||
#### normally needed!) | ||
|
||
# We encrypt the id_rda (private key) using a key and IV generated randomly: | ||
# openssl enc -nosalt -aes-256-cbc -pbkdf2 -k "$(openssl rand -base64 100 | sed s/=//)" -P | ||
# > key = <long string of hex> | ||
# > iv = <long string of hex> | ||
|
||
# Set that key and IV strings are set as secrets in the *Arduino repo* GitHub | ||
# CI Secrets object as GHKEY and GHIV. | ||
|
||
# Now make a SSH key using ssh-keygen (do not use your own, make a new one!) | ||
# ssh-keygen ... | ||
|
||
# Upload the id_rsa.pub (public key) to the GH.IO GitHub as a *deploy key* | ||
# (https://github.com/esp8266/esp8266.github.io->Settings->Deploy Keys->Add Key) | ||
# DO NOT USE Settings->SSH and GPG Keys->New SSH Key because that allows | ||
# full access to all repos owned by the user, while a Deploy Key only allows | ||
# access to a single repo. | ||
|
||
# Encrypt the private part of the key using the key and IV above and commit the change | ||
# openssl enc -aes-256-cbc -K <key> -iv <iv> -in id_rsa -out package/esp8266_github_io_deploy.enc | ||
# git add package/esp8266_github_io_deploy.enc | ||
|
||
|
||
name: ESP8266 Arduino Release Publisher | ||
|
||
on: | ||
release: | ||
types: [published] | ||
|
||
jobs: | ||
package: | ||
name: Update master JSON file | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.x' | ||
- name: Set GIT tag name | ||
run: | | ||
echo "::set-env name=TRAVIS_TAG::$(git describe --exact-match --tags)" | ||
- name: Deploy updated JSON | ||
env: | ||
TRAVIS_BUILD_DIR: ${{ github.workspace }} | ||
BUILD_TYPE: package | ||
CI_GITHUB_API_KEY: ${{ secrets.GITHUB_TOKEN }} | ||
GHKEY: ${{ secrets.GHKEY }} | ||
GHIV: ${{ secrets.GHIV }} | ||
run: | | ||
bash ./tests/ci/build_package.sh | ||
# Only the regenerated JSON file will be used, but it's simpler than looking for it in a GH release | ||
bash ./package/deploy_package_index.sh | ||
|
This file contains hidden or 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# Whenever a tag of the form #.xxxx is pushed against master, generate a | ||
# draft release and upload the ZIP and JSON file to it. Maintainers then | ||
# will manually add the changelist and publish it. | ||
|
||
name: ESP8266 Arduino Draft Release | ||
|
||
on: | ||
push: | ||
tags: | ||
- '[0-9]+.[0-9]+.[0-9]+*' | ||
devyte marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
jobs: | ||
package: | ||
name: Package | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.x' | ||
- name: Set GIT tag name | ||
run: | | ||
echo "::set-env name=TRAVIS_TAG::$(git describe --exact-match --tags)" | ||
- name: Build package JSON | ||
env: | ||
TRAVIS_BUILD_DIR: ${{ github.workspace }} | ||
BUILD_TYPE: package | ||
CI_GITHUB_API_KEY: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
export TRAVIS_TAG=$(git describe --exact-match --tags) | ||
bash ./tests/ci/build_package.sh | ||
pip3 install PyGithub | ||
python3 ./package/upload_release.py --user "$GITHUB_ACTOR" --repo "$GITHUB_REPOSITORY" --token "$CI_GITHUB_API_KEY" --tag "$TRAVIS_TAG" --name "Release $TRAVIS_TAG" --msg "Text goes here" package/versions/*/*.zip package/versions/*/package_esp8266com_index.json | ||
devyte marked this conversation as resolved.
Show resolved
Hide resolved
|
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.