From ac7ee4b94a200590a566fd6979f4738976de12b6 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 1 Dec 2019 13:56:18 -0600 Subject: [PATCH 1/3] Release version 2.0.0 --- .github/ISSUE_TEMPLATE/bug_report.md | 43 +++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 17 +++++ .github/ISSUE_TEMPLATE/feature_request.md | 35 +++++++++++ .github/issue_template.md | 37 ++++------- Marlin/Version.h | 2 +- Marlin/src/inc/Version.h | 4 +- README.md | 77 +++++++++++------------ 7 files changed, 146 insertions(+), 69 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000000..48beca2c2d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,43 @@ +--- +name: Bug report +about: Report a bug in Marlin +title: "[BUG] (short description)" +labels: '' +assignees: '' + +--- + + + +### Bug Description + + + +### My Configurations + +**Required:** Please include a ZIP file containing your `Configuration.h` and `Configuration_adv.h` files. + +### Steps to Reproduce + + + +1. [First Step] +2. [Second Step] +3. [and so on...] + +**Expected behavior:** [What you expect to happen] + +**Actual behavior:** [What actually happens] + +#### Additional Information + +* Provide pictures or links to videos that clearly demonstrate the issue. +* See [How Can I Contribute](#how-can-i-contribute) for additional guidelines. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000..4b283d2600 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,17 @@ +blank_issues_enabled: false +contact_links: + - name: Marlin Documentation + url: http://marlinfw.org/ + about: Lots of documentation on installing and using Marlin. + - name: MarlinFirmware Facebook group + url: https://www.facebook.com/groups/1049718498464482 + about: Please ask and answer questions here. + - name: Marlin on Discord + url: https://discord.gg/n5NJ59y + about: Join the Discord server for support and discussion. + - name: Marlin Discussion Forum + url: http://forums.reprap.org/list.php?415 + about: A searchable web forum hosted by RepRap dot org. + - name: Marlin Videos on YouTube + url: https://www.youtube.com/results?search_query=marlin+firmware + about: Tutorials and more from Marlin users all around the world. Great for new users! diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000000..ff3b6b06d8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,35 @@ +--- +name: Feature request +about: Request a Feature +title: "[FR] (feature request title)" +labels: '' +assignees: '' + +--- + + + +### Description + + + +### Feature Workflow + + + +1. [First Action] +2. [Second Action] +3. [and so on...] + +#### Additional Information + +* Provide pictures or links that demonstrate a similar feature or concept. +* See [How Can I Contribute](#how-can-i-contribute) for additional guidelines. diff --git a/.github/issue_template.md b/.github/issue_template.md index ecfb36f0d5..f45bd71d09 100644 --- a/.github/issue_template.md +++ b/.github/issue_template.md @@ -1,31 +1,16 @@ - +- RepRap.org Marlin Forum http://forums.reprap.org/list.php?415 +- Tom's 3D Forums https://discuss.toms3d.org/ +- Facebook Group "Marlin Firmware" https://www.facebook.com/groups/1049718498464482/ +- Facebook Group "Marlin Firmware for 3D Printers" https://www.facebook.com/groups/3Dtechtalk/ +- Marlin Configuration https://www.youtube.com/results?search_query=marlin+configuration on YouTube +- Marlin Discord server. Join link: https://discord.gg/n5NJ59y -### Description - - - -### Steps to Reproduce - - - -1. [First Step] -2. [Second Step] -3. [and so on...] - -**Expected behavior:** [What you expect to happen] - -**Actual behavior:** [What actually happens] - -#### Additional Information - -* Include a ZIP file containing your `Configuration.h` and `Configuration_adv.h` files. -* Provide pictures or links to videos that clearly demonstrate the issue. -* See [How Can I Contribute](#how-can-i-contribute) for additional guidelines. +After seeking help from the community, if the consensus points to to a bug in Marlin, then you should post a Bug Report at https://github.com/MarlinFirmware/Marlin/issues/new/choose). diff --git a/Marlin/Version.h b/Marlin/Version.h index d18176f27f..a4c08b9775 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -28,7 +28,7 @@ /** * Marlin release version identifier */ -//#define SHORT_BUILD_VERSION "bugfix-2.0.x" +//#define SHORT_BUILD_VERSION "2.0.x" /** * Verbose version identifier which should contain a reference to the location diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index cf62578730..36b4ef162a 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -25,7 +25,7 @@ * Release version. Leave the Marlin version or apply a custom scheme. */ #ifndef SHORT_BUILD_VERSION - #define SHORT_BUILD_VERSION "bugfix-2.0.x" + #define SHORT_BUILD_VERSION "2.0.0" #endif /** @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2019-12-02" + #define STRING_DISTRIBUTION_DATE "2019-12-01" #endif /** diff --git a/README.md b/README.md index b0c93bb01a..258ecb5b1c 100644 --- a/README.md +++ b/README.md @@ -1,74 +1,71 @@ # Marlin 3D Printer Firmware -[![Build Status](https://travis-ci.org/MarlinFirmware/Marlin.svg?branch=bugfix-2.0.x)](https://travis-ci.org/MarlinFirmware/Marlin) +[![Build Status](https://travis-ci.org/MarlinFirmware/Marlin.svg?branch=2.0.x)](https://travis-ci.org/MarlinFirmware/Marlin) ![GitHub](https://img.shields.io/github/license/marlinfirmware/marlin.svg) ![GitHub contributors](https://img.shields.io/github/contributors/marlinfirmware/marlin.svg) ![GitHub Release Date](https://img.shields.io/github/release-date/marlinfirmware/marlin.svg) - + Additional documentation can be found at the [Marlin Home Page](http://marlinfw.org/). -Please test this firmware and let us know if it misbehaves in any way. Volunteers are standing by! +Please let us know if Marlin misbehaves in any way. Volunteers are standing by! -## Marlin 2.0 Bugfix Branch - -__Not for production use. Use with caution!__ +## Marlin 2.0 Marlin 2.0 takes this popular RepRap firmware to the next level by adding support for much faster 32-bit and ARM-based boards while improving support for 8-bit AVR boards. Read about Marlin's decision to use a "Hardware Abstraction Layer" below. -This branch is for patches to the latest 2.0.x release version. Periodically this branch will form the basis for the next minor 2.0.x release. - Download earlier versions of Marlin on the [Releases page](https://github.com/MarlinFirmware/Marlin/releases). ## Building Marlin 2.0 -To build Marlin 2.0 you'll need [Arduino IDE 1.8.8 or newer](https://www.arduino.cc/en/main/software) or [PlatformIO](http://docs.platformio.org/en/latest/ide.html#platformio-ide). We've posted detailed instructions on [Building Marlin with Arduino](http://marlinfw.org/docs/basics/install_arduino.html) and [Building Marlin with PlatformIO for ReArm](http://marlinfw.org/docs/basics/install_rearm.html) (which applies well to other 32-bit boards). +To build Marlin 2.0 you'll need [Arduino IDE 1.8.8 or newer](https://www.arduino.cc/en/main/software) or [PlatformIO](http://docs.platformio.org/en/latest/ide.html#platformio-ide). Detailed build and install instructions are posted at: -## Hardware Abstraction Layer (HAL) + - [Installing Marlin (Arduino)](http://marlinfw.org/docs/basics/install_arduino.html) + - [Installing Marlin (VSCode)](http://marlinfw.org/docs/basics/install_platformio_vscode.html). -Marlin 2.0 introduces a layer of abstraction so that all the existing high-level code can be built for 32-bit platforms while still retaining full 8-bit AVR compatibility. Retaining AVR compatibility and a single code-base is important to us, because we want to make sure that features and patches get as much testing and attention as possible, and that all platforms always benefit from the latest improvements. +### Supported Platforms -### Current HALs + Platform|MCU|Example Boards + --------|---|------- + [Arduino AVR](https://www.arduino.cc/)|ATmega|RAMPS, Melzi, RAMBo + [Teensy++ 2.0](http://www.microchip.com/wwwproducts/en/AT90USB1286)|AT90USB1286|Printrboard + [Arduino Due](https://www.arduino.cc/en/Guide/ArduinoDue)|SAM3X8E|RAMPS-FD, RADDS, RAMPS4DUE + [LPC1768](http://www.nxp.com/products/microcontrollers-and-processors/arm-based-processors-and-mcus/lpc-cortex-m-mcus/lpc1700-cortex-m3/512kb-flash-64kb-sram-ethernet-usb-lqfp100-package:LPC1768FBD100)|ARM® Cortex-M3|MKS SBASE, Re-ARM, Selena Compact + [LPC1769](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc1700-cortex-m3/512kb-flash-64kb-sram-ethernet-usb-lqfp100-package:LPC1769FBD100)|ARM® Cortex-M3|Smoothieboard, Azteeg X5 mini, TH3D EZBoard + [STM32F103](https://www.st.com/en/microcontrollers-microprocessors/stm32f103.html)|ARM® Cortex-M3|Malyan M200, GTM32 Pro, MKS Robin, BTT SKR Mini + [STM32F401](https://www.st.com/en/microcontrollers-microprocessors/stm32f401.html)|ARM® Cortex-M4|ARMED, Rumba32, SKR Pro, Lerdge, FYSETC S6 + [STM32F7x6](https://www.st.com/en/microcontrollers-microprocessors/stm32f7x6.html)|ARM® Cortex-M7|The Borg, RemRam V1 + [SAMD51P20A](https://www.adafruit.com/product/4064)|ARM® Cortex-M4|Adafruit Grand Central M4 + [Teensy 3.5](https://www.pjrc.com/store/teensy35.html)|ARM® Cortex-M4| + [Teensy 3.6](https://www.pjrc.com/store/teensy36.html)|ARM® Cortex-M4| - name|processor|speed|flash|sram|logic|fpu - ----|---------|-----|-----|----|-----|--- - [Arduino AVR](https://www.arduino.cc/)|ATmega, ATTiny, etc.|16-20MHz|64-256k|2-16k|5V|no - [Teensy++ 2.0](http://www.microchip.com/wwwproducts/en/AT90USB1286)|[AT90USB1286](http://www.microchip.com/wwwproducts/en/AT90USB1286)|16MHz|128k|8k|5V|no - [Arduino STM32](https://github.com/rogerclarkmelbourne/Arduino_STM32)|[STM32F1](https://www.st.com/en/microcontrollers-microprocessors/stm32f103.html) ARM-Cortex M3|72MHz|256-512k|48-64k|3.3V|no - [Due](https://www.arduino.cc/en/Guide/ArduinoDue), [RAMPS-FD](http://www.reprap.org/wiki/RAMPS-FD), etc.|[SAM3X8E ARM-Cortex M3](http://www.microchip.com/wwwproducts/en/ATsam3x8e)|84MHz|512k|64+32k|3.3V|no - [Re-ARM](https://www.kickstarter.com/projects/1245051645/re-arm-for-ramps-simple-32-bit-upgrade)|[LPC1768 ARM-Cortex M3](http://www.nxp.com/products/microcontrollers-and-processors/arm-based-processors-and-mcus/lpc-cortex-m-mcus/lpc1700-cortex-m3/512kb-flash-64kb-sram-ethernet-usb-lqfp100-package:LPC1768FBD100)|100MHz|512k|32+16+16k|3.3-5V|no - [MKS SBASE](http://forums.reprap.org/read.php?13,499322)|LPC1768 ARM-Cortex M3|100MHz|512k|32+16+16k|3.3-5V|no - [Azteeg X5 GT](https://www.panucatt.com/azteeg_X5_GT_reprap_3d_printer_controller_p/ax5gt.htm)|LPC1769 ARM-Cortex M3|120MHz|512k|32+16+16k|3.3-5V|no - [Selena Compact](https://github.com/Ales2-k/Selena)|LPC1768 ARM-Cortex M3|100MHz|512k|32+16+16k|3.3-5V|no - [Teensy 3.5](https://www.pjrc.com/store/teensy35.html)|ARM-Cortex M4|120MHz|512k|192k|3.3-5V|yes - [Teensy 3.6](https://www.pjrc.com/store/teensy36.html)|ARM-Cortex M4|180MHz|1M|256k|3.3V|yes +## Submitting Changes -### HALs in Development - - name|processor|speed|flash|sram|logic|fpu - ----|---------|-----|-----|----|-----|--- - [STEVAL-3DP001V1](http://www.st.com/en/evaluation-tools/steval-3dp001v1.html)|[STM32F401VE Arm-Cortex M4](http://www.st.com/en/microcontrollers/stm32f401ve.html)|84MHz|512k|64+32k|3.3-5V|yes - [Smoothieboard](http://reprap.org/wiki/Smoothieboard)|LPC1769 ARM-Cortex M3|120MHz|512k|64k|3.3-5V|no - [Adafruit Grand Central M4](https://www.adafruit.com/product/4064)|[SAMD51P20A ARM-Cortex M4](https://www.microchip.com/wwwproducts/en/ATSAMD51P20A)|120MHz|1M|256k|3.3V|yes - -## Submitting Patches - -Proposed patches should be submitted as a Pull Request against the ([bugfix-2.0.x](https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x)) branch. - -- This branch is for fixing bugs and integrating any new features for the duration of the Marlin 2.0.x life-cycle. +- Submit **Bug Fixes** as Pull Requests to the ([bugfix-2.0.x](https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x)) branch. +- Submit **New Features** to the ([dev-2.1.x](https://github.com/MarlinFirmware/Marlin/tree/dev-2.1.x)) branch. - Follow the [Coding Standards](http://marlinfw.org/docs/development/coding_standards.html) to gain points with the maintainers. - Please submit your questions and concerns to the [Issue Queue](https://github.com/MarlinFirmware/Marlin/issues). -### [RepRap.org Wiki Page](http://reprap.org/wiki/Marlin) +## Marlin Support + +For best results getting help with configuration and troubleshooting, please use the following resources: + +- [Marlin Documentation](http://marlinfw.org) - Official Marlin documentation +- [Marlin Discord](https://discord.gg/n5NJ59y) - Discuss issues with Marlin users and developers +- Facebook Group ["Marlin Firmware"](https://www.facebook.com/groups/1049718498464482/) +- RepRap.org [Marlin Forum](http://forums.reprap.org/list.php?415) +- [Tom's 3D Forums](https://discuss.toms3d.org/) +- Facebook Group ["Marlin Firmware for 3D Printers"](https://www.facebook.com/groups/3Dtechtalk/) +- [Marlin Configuration](https://www.youtube.com/results?search_query=marlin+configuration) on YouTube ## Credits The current Marlin dev team consists of: - - Scott Lahteine [[@thinkyhead](https://github.com/thinkyhead)] - USA   [![Flattr Scott](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=thinkyhead&url=https://github.com/MarlinFirmware/Marlin&title=Marlin&language=&tags=github&category=software) + - Scott Lahteine [[@thinkyhead](https://github.com/thinkyhead)] - USA   [Donate](http://www.thinkyhead.com/donate-to-marlin) / Flattr: [![Flattr Scott](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=thinkyhead&url=https://github.com/MarlinFirmware/Marlin&title=Marlin&language=&tags=github&category=software) - Roxanne Neufeld [[@Roxy-3D](https://github.com/Roxy-3D)] - USA - - Bob Kuhn [[@Bob-the-Kuhn](https://github.com/Bob-the-Kuhn)] - USA - Chris Pepper [[@p3p](https://github.com/p3p)] - UK + - Bob Kuhn [[@Bob-the-Kuhn](https://github.com/Bob-the-Kuhn)] - USA - João Brazio [[@jbrazio](https://github.com/jbrazio)] - Portugal - Erik van der Zalm [[@ErikZalm](https://github.com/ErikZalm)] - Netherlands   [![Flattr Erik](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=ErikZalm&url=https://github.com/MarlinFirmware/Marlin&title=Marlin&language=&tags=github&category=software) From ee170519334d4e2c2aed28437dd94ca298923a18 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 24 Dec 2019 00:06:32 -0600 Subject: [PATCH 2/3] Version 2.0.1 --- .github/workflows/bump-date.yml | 25 -------- .github/workflows/test-builds.yml | 100 ------------------------------ Marlin/src/inc/Version.h | 4 +- platformio.ini | 4 +- 4 files changed, 4 insertions(+), 129 deletions(-) delete mode 100644 .github/workflows/bump-date.yml delete mode 100644 .github/workflows/test-builds.yml diff --git a/.github/workflows/bump-date.yml b/.github/workflows/bump-date.yml deleted file mode 100644 index df2ac5fbdd..0000000000 --- a/.github/workflows/bump-date.yml +++ /dev/null @@ -1,25 +0,0 @@ -# -# 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: source ./buildroot/bin/bump_date diff --git a/.github/workflows/test-builds.yml b/.github/workflows/test-builds.yml deleted file mode 100644 index f7412b3945..0000000000 --- a/.github/workflows/test-builds.yml +++ /dev/null @@ -1,100 +0,0 @@ -# -# 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: | - 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/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index 36b4ef162a..7789fcdbfd 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -25,7 +25,7 @@ * Release version. Leave the Marlin version or apply a custom scheme. */ #ifndef SHORT_BUILD_VERSION - #define SHORT_BUILD_VERSION "2.0.0" + #define SHORT_BUILD_VERSION "2.0.1" #endif /** @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2019-12-01" + #define STRING_DISTRIBUTION_DATE "2019-12-24" #endif /** diff --git a/platformio.ini b/platformio.ini index e89a476b07..fce93ad679 100644 --- a/platformio.ini +++ b/platformio.ini @@ -31,7 +31,7 @@ lib_deps = Adafruit NeoPixel@1.2.5 Adafruit_MAX31865=https://github.com/adafruit/Adafruit_MAX31865/archive/master.zip LiquidTWI2=https://github.com/lincomatic/LiquidTWI2/archive/master.zip - Arduino-L6470=https://github.com/ameyer/Arduino-L6470/archive/dev.zip + Arduino-L6470=https://github.com/ameyer/Arduino-L6470/archive/0.7.0.zip SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip SailfishRGB_LED=https://github.com/mikeshub/SailfishRGB_LED/archive/master.zip SlowSoftI2CMaster=https://github.com/mikeshub/SlowSoftI2CMaster/archive/master.zip @@ -659,7 +659,7 @@ lib_deps = TMCStepper@>=0.5.2,<1.0.0 Adafruit NeoPixel LiquidTWI2=https://github.com/lincomatic/LiquidTWI2/archive/master.zip - Arduino-L6470=https://github.com/ameyer/Arduino-L6470/archive/dev.zip + Arduino-L6470=https://github.com/ameyer/Arduino-L6470/archive/0.7.0.zip lib_ignore = SoftwareSerial, SoftwareSerialM src_filter = ${common.default_src_filter} + monitor_speed = 250000 From ccdeb3f2cd291e050f6a5e6f503455e697f893e8 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Wed, 25 Dec 2019 14:57:58 -0600 Subject: [PATCH 3/3] Updates for GitHub Actions --- .github/FUNDING.yml | 4 +- .github/labeler.yml | 18 ++++++ .github/workflows/bump-date.yml | 34 ++++++++++ .github/workflows/check-pr.yml | 31 +++++++++ .github/workflows/label-pr.yml | 23 +++++++ .github/workflows/test-builds.yml | 102 ++++++++++++++++++++++++++++++ README.md | 2 +- 7 files changed, 212 insertions(+), 2 deletions(-) create mode 100644 .github/labeler.yml create mode 100644 .github/workflows/bump-date.yml create mode 100644 .github/workflows/check-pr.yml create mode 100644 .github/workflows/label-pr.yml create mode 100644 .github/workflows/test-builds.yml 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 -[![Build Status](https://travis-ci.org/MarlinFirmware/Marlin.svg?branch=2.0.x)](https://travis-ci.org/MarlinFirmware/Marlin) ![GitHub](https://img.shields.io/github/license/marlinfirmware/marlin.svg) ![GitHub contributors](https://img.shields.io/github/contributors/marlinfirmware/marlin.svg) ![GitHub Release Date](https://img.shields.io/github/release-date/marlinfirmware/marlin.svg) +[![Build Status](https://github.com/MarlinFirmware/Marlin/workflows/CI/badge.svg?branch=bugfix-2.0.x)](https://github.com/MarlinFirmware/Marlin/actions)