aboutsummaryrefslogtreecommitdiff
path: root/macros/src/syntax/.github
diff options
context:
space:
mode:
Diffstat (limited to 'macros/src/syntax/.github')
-rw-r--r--macros/src/syntax/.github/bors.toml3
-rw-r--r--macros/src/syntax/.github/workflows/build.yml213
-rw-r--r--macros/src/syntax/.github/workflows/changelog.yml28
-rw-r--r--macros/src/syntax/.github/workflows/properties/build.properties.json6
4 files changed, 250 insertions, 0 deletions
diff --git a/macros/src/syntax/.github/bors.toml b/macros/src/syntax/.github/bors.toml
new file mode 100644
index 00000000..aee6042f
--- /dev/null
+++ b/macros/src/syntax/.github/bors.toml
@@ -0,0 +1,3 @@
+block_labels = ["S-blocked"]
+delete_merged_branches = true
+status = ["ci"]
diff --git a/macros/src/syntax/.github/workflows/build.yml b/macros/src/syntax/.github/workflows/build.yml
new file mode 100644
index 00000000..29971b10
--- /dev/null
+++ b/macros/src/syntax/.github/workflows/build.yml
@@ -0,0 +1,213 @@
+name: Build
+on:
+ pull_request:
+ push:
+ branches:
+ - master
+ - staging
+ - trying
+ - bors/staging
+ - bors/trying
+
+env:
+ CARGO_TERM_COLOR: always
+
+jobs:
+ # Run cargo fmt --check
+ style:
+ name: style
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Install Rust
+ uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: stable
+ override: true
+ components: rustfmt
+
+ - name: Fail on warnings
+ run: sed -i 's,//deny_warnings_placeholder_for_ci,#![deny(warnings)],' src/lib.rs
+
+ - name: cargo fmt --check
+ uses: actions-rs/cargo@v1
+ with:
+ command: fmt
+ args: --all -- --check
+
+ # Compilation check
+ check:
+ name: check
+ runs-on: ubuntu-20.04
+ strategy:
+ matrix:
+ target:
+ - x86_64-unknown-linux-gnu
+ toolchain:
+ - stable
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Install Rust ${{ matrix.toolchain }} with target (${{ matrix.target }})
+ uses: actions-rs/toolchain@v1
+ with:
+ toolchain: ${{ matrix.toolchain }}
+ target: ${{ matrix.target }}
+ override: true
+
+ - name: Fail on warnings
+ run: sed -i 's,//deny_warnings_placeholder_for_ci,#![deny(warnings)],' src/lib.rs
+
+ - name: Cache Dependencies
+ uses: Swatinem/rust-cache@v1
+
+ - name: cargo check
+ uses: actions-rs/cargo@v1
+ with:
+ use-cross: false
+ command: check
+ args: --target=${{ matrix.target }}
+
+ # Clippy
+ clippy:
+ name: Cargo clippy
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Install Rust stable
+ uses: actions-rs/toolchain@v1
+ with:
+ toolchain: stable
+ target: x86_64-unknown-linux-gnu
+ override: true
+
+ - name: Fail on warnings
+ run: sed -i 's,//deny_warnings_placeholder_for_ci,#![deny(warnings)],' src/lib.rs
+
+ - name: Cache Dependencies
+ uses: Swatinem/rust-cache@v1
+
+ - name: cargo clippy
+ uses: actions-rs/cargo@v1
+ with:
+ use-cross: false
+ command: clippy
+
+ # Verify all examples
+ testexamples:
+ name: testexamples
+ runs-on: ubuntu-20.04
+ strategy:
+ matrix:
+ target:
+ - x86_64-unknown-linux-gnu
+ toolchain:
+ - stable
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Install Rust ${{ matrix.toolchain }} with target (${{ matrix.target }})
+ uses: actions-rs/toolchain@v1
+ with:
+ toolchain: ${{ matrix.toolchain }}
+ target: ${{ matrix.target }}
+ override: true
+
+ - name: Cache Dependencies
+ uses: Swatinem/rust-cache@v1
+
+ - name: Fail on warnings
+ run: sed -i 's,//deny_warnings_placeholder_for_ci,#![deny(warnings)],' src/lib.rs
+
+ - uses: actions-rs/cargo@v1
+ with:
+ use-cross: false
+ command: test
+ args: --examples
+
+ # Run test suite for UI
+ testui:
+ name: testui
+ runs-on: ubuntu-20.04
+ strategy:
+ matrix:
+ target:
+ - x86_64-unknown-linux-gnu
+ toolchain:
+ - stable
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Install Rust ${{ matrix.toolchain }} with target (${{ matrix.target }})
+ uses: actions-rs/toolchain@v1
+ with:
+ toolchain: ${{ matrix.toolchain }}
+ target: ${{ matrix.target }}
+ override: true
+
+ - name: Cache Dependencies
+ uses: Swatinem/rust-cache@v1
+
+ - name: Fail on warnings
+ run: sed -i 's,//deny_warnings_placeholder_for_ci,#![deny(warnings)],' src/lib.rs
+
+
+ - uses: actions-rs/cargo@v1
+ with:
+ use-cross: false
+ command: test
+ args: --test ui
+
+ # Run test suite
+ test:
+ name: test
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Install Rust
+ uses: actions-rs/toolchain@v1
+ with:
+ toolchain: stable
+ target: thumbv7m-none-eabi
+ override: true
+
+ - name: Cache Dependencies
+ uses: Swatinem/rust-cache@v1
+
+ - name: Fail on warnings
+ run: sed -i 's,//deny_warnings_placeholder_for_ci,#![deny(warnings)],' src/lib.rs
+
+ - uses: actions-rs/cargo@v1
+ with:
+ use-cross: false
+ command: test
+ args: --lib
+
+ # Refs: https://github.com/rust-lang/crater/blob/9ab6f9697c901c4a44025cf0a39b73ad5b37d198/.github/workflows/bors.yml#L125-L149
+ #
+ # ALL THE PREVIOUS JOBS NEEDS TO BE ADDED TO THE `needs` SECTION OF THIS JOB!
+
+ ci-success:
+ name: ci
+ if: github.event_name == 'push' && success()
+ needs:
+ - style
+ - check
+ - clippy
+ - testexamples
+ - test
+ - testui
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Mark the job as a success
+ run: exit 0
diff --git a/macros/src/syntax/.github/workflows/changelog.yml b/macros/src/syntax/.github/workflows/changelog.yml
new file mode 100644
index 00000000..ccf6eb91
--- /dev/null
+++ b/macros/src/syntax/.github/workflows/changelog.yml
@@ -0,0 +1,28 @@
+# Check that the changelog is updated for all changes.
+#
+# This is only run for PRs.
+
+on:
+ pull_request:
+ # opened, reopened, synchronize are the default types for pull_request.
+ # labeled, unlabeled ensure this check is also run if a label is added or removed.
+ types: [opened, reopened, labeled, unlabeled, synchronize]
+
+name: Changelog
+
+jobs:
+ changelog:
+ name: Changelog
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout sources
+ uses: actions/checkout@v2
+
+ - name: Check that changelog updated
+ uses: dangoslen/changelog-enforcer@v3
+ with:
+ changeLogPath: CHANGELOG.md
+ skipLabels: 'needs-changelog, skip-changelog'
+ missingUpdateErrorMessage: 'Please add a changelog entry in the CHANGELOG.md file.'
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file
diff --git a/macros/src/syntax/.github/workflows/properties/build.properties.json b/macros/src/syntax/.github/workflows/properties/build.properties.json
new file mode 100644
index 00000000..fd3eed37
--- /dev/null
+++ b/macros/src/syntax/.github/workflows/properties/build.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Build",
+ "description": "RTIC Test Suite",
+ "iconName": "rust",
+ "categories": ["Rust"]
+}