diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 946acca2d7..70734d4972 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1 +1,3 @@ -custom: http://www.thinkyhead.com/donate-to-marlin +github: [thinkyhead] +patreon: thinkyhead +custom: ["http://www.thinkyhead.com/donate-to-marlin"] diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 0000000000..4672316d65 --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,18 @@ +# Add '@domain/core' label to any change within the 'core' package +enhancement: + - .github + +# Add 'test' label to any change to *.spec.js files within the source dir +"C: Motion": + - src/module/motion.* + - src/module/planner.* + - src/module/stepper.* + +"C: G-code Parser": + - src/gcode/** + +"PR: Configurations": + - config/examples/** + +"T: 32-Bit & HAL": + - src/HAL/** diff --git a/.github/workflows/bump-date.yml b/.github/workflows/bump-date.yml new file mode 100644 index 0000000000..ecf4a4f0ec --- /dev/null +++ b/.github/workflows/bump-date.yml @@ -0,0 +1,34 @@ +# +# bump-date.yml +# Bump the distribution date once per day +# + +name: Bump Distribution Date + +on: + schedule: + - cron: '0 0 * * *' + +jobs: + bump_date: + + runs-on: ubuntu-latest + + steps: + + - name: Check out bugfix-2.0.x + uses: actions/checkout@v2 + with: + ref: bugfix-2.0.x + + - name: Bump Distribution Date + run: | + # Inline Bump Script + [[ "$GITHUB_REPOSITORY" == "MarlinFirmware/Marlin" ]] || exit 0 + DIST=$( date +"%Y-%m-%d" ) + eval "sed -E -i 's/(#define +STRING_DISTRIBUTION_DATE) .*$/\1 \"$DIST\"/g' Marlin/src/inc/Version.h" && \ + git config user.name "${GITHUB_ACTOR}" && \ + git config user.email "${GITHUB_ACTOR}@users.noreply.github.com" && \ + git add . && \ + git commit -m "[cron] Bump distribution date ($DIST)" && \ + git push diff --git a/.github/workflows/check-pr.yml b/.github/workflows/check-pr.yml new file mode 100644 index 0000000000..31b196e064 --- /dev/null +++ b/.github/workflows/check-pr.yml @@ -0,0 +1,31 @@ +# +# check-pr.yml +# Add a comment to the PR if it's directed to a release branch +# + +name: Check PR + +on: + pull_request: + branches: + - 1.0.x + - 1.1.x + - 2.0.x + +jobs: + check_pr: + + runs-on: ubuntu-latest + + steps: + - name: Comment on PR + uses: unsplash/comment-on-pr@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + msg: "
Thanks for your contribution! \ + Unfortunately we can't accept PRs directed at release branches. \ + We make patches to the bugfix branches and only later do we push them out as releases. \ + Please redo this PR starting with the `bugfix-2.0.x` branch and be careful to target `bugfix-2.0.x` when resubmitting the PR.
\ +It may help to set your fork's default branch to `bugfix-2.0.x`.
\ +See this page for full instructions.
" diff --git a/.github/workflows/label-pr.yml b/.github/workflows/label-pr.yml new file mode 100644 index 0000000000..74a7e706c9 --- /dev/null +++ b/.github/workflows/label-pr.yml @@ -0,0 +1,23 @@ +# +# label-pr.yml +# Automatically close the PR if it's directed to a release branch +# + +name: Apply Labels + +on: + pull_request: + branches: + - bugfix-1.1.x + - bugfix-2.0.x + - dev-2.1.x + +jobs: + apply_labels: + + runs-on: ubuntu-latest + + steps: + - uses: actions/labeler@v2 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/test-builds.yml b/.github/workflows/test-builds.yml new file mode 100644 index 0000000000..db5c5ab701 --- /dev/null +++ b/.github/workflows/test-builds.yml @@ -0,0 +1,102 @@ +# +# test-builds.yml +# Do test builds to catch compile errors +# + +name: CI + +on: + pull_request: + branches: + - bugfix-2.0.x + - dev-2.1.x + paths-ignore: + - config/** + - data/** + - docs/** + - '**/*.md' + +jobs: + test_builds: + + runs-on: ubuntu-latest + + strategy: + matrix: + test-platform: + # Base Environments + + - DUE + - esp32 + - linux_native + - megaatmega2560 + - teensy31 + - teensy35 + + # Extended AVR Environments + + - FYSETC_F6_13 + - megaatmega1280 + - rambo + - sanguino_atmega1284p + - sanguino_atmega644p + + # Extended STM32 Environments + + - STM32F103RC_bigtree + - STM32F103RC_bigtree_USB + - STM32F103RE_bigtree + - STM32F103RE_bigtree_USB + - STM32F103RC_fysetc + - jgaurora_a5s_a1 + - STM32F103VE_longer + - STM32F407VE_black + - BIGTREE_SKR_PRO + - mks_robin + - ARMED + + # Put lengthy tests last + + - LPC1768 + - LPC1769 + + # STM32 with non-STM framework. both broken for now. they should use HAL_STM32 which is working. + + #- STM32F4 + #- STM32F7 + + # Non-working environment tests + + #- BIGTREE_BTT002 + #- at90usb1286_cdc + #- at90usb1286_dfu + #- STM32F103CB_malyan + #- mks_robin_lite + #- mks_robin_mini + #- mks_robin_nano + #- SAMD51_grandcentral_m4 + + steps: + + - name: Select Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: '3.7' # Version range or exact version of a Python version to use, using semvers version range syntax. + architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified + + - name: Install PlatformIO + run: | + pip install -U https://github.com/platformio/platformio-core/archive/master.zip + platformio update + + - name: Check out the PR + uses: actions/checkout@v2 + + - name: Run ${{ matrix.test-platform }} Tests + run: | + # Inline tests script + [[ "$GITHUB_REPOSITORY" == "MarlinFirmware/Marlin" ]] || exit 0 + chmod +x buildroot/bin/* + chmod +x buildroot/share/tests/* + export PATH=./buildroot/bin/:./buildroot/share/tests/:${PATH} + run_tests . ${{ matrix.test-platform }} diff --git a/README.md b/README.md index 258ecb5b1c..c6a39ecf19 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # Marlin 3D Printer Firmware -[](https://travis-ci.org/MarlinFirmware/Marlin)    +[](https://github.com/MarlinFirmware/Marlin/actions)