aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yml189
-rw-r--r--.github/workflows/docs.yml93
-rw-r--r--.github/workflows/properties/build.properties.json2
-rw-r--r--.github/workflows/properties/docs.properties.json6
-rw-r--r--.github/workflows/properties/publish.properties.json6
-rw-r--r--.github/workflows/publish.yml94
6 files changed, 188 insertions, 202 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 067e32b0..54d1043e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -46,7 +46,6 @@ jobs:
toolchain:
- stable
- 1.36.0
- - nightly
steps:
- name: Checkout
uses: actions/checkout@v2
@@ -263,7 +262,6 @@ jobs:
toolchain:
- stable
- 1.36.0
- - nightly
steps:
- name: Checkout
uses: actions/checkout@v2
@@ -382,6 +380,189 @@ jobs:
cargo-microamp --example=$ex --target thumbv7m-none-eabi,thumbv6m-none-eabi --check
done
+ # Build documentation, check links
+ docs:
+ name: docs
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Set up Python 3.x
+ uses: actions/setup-python@v2
+ with:
+ # Semantic version range syntax or exact version of a Python version
+ python-version: '3.x'
+ # Optional - x64 or x86 architecture, defaults to x64
+ architecture: 'x64'
+
+ # You can test your matrix by printing the current Python version
+ - name: Display Python version
+ run: python -c "import sys; print(sys.version)"
+
+ - name: Install dependencies
+ run: pip install git+https://github.com/linkchecker/linkchecker.git
+
+ - name: Remove cargo-config
+ run: rm -f .cargo/config
+
+ - name: Build docs
+ run: cargo doc
+
+ - name: Check links
+ run: |
+ td=$(mktemp -d)
+ cp -r target/doc $td/api
+ linkchecker $td/api/rtic/
+ linkchecker $td/api/cortex_m_rtic_macros/
+
+ # Build the books
+ mdbook:
+ name: mdbook
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Set up Python 3.x
+ uses: actions/setup-python@v2
+ with:
+ # Semantic version range syntax or exact version of a Python version
+ python-version: '3.x'
+ # Optional - x64 or x86 architecture, defaults to x64
+ architecture: 'x64'
+
+ # You can test your matrix by printing the current Python version
+ - name: Display Python version
+ run: python -c "import sys; print(sys.version)"
+
+ - name: Install dependencies
+ run: pip install git+https://github.com/linkchecker/linkchecker.git
+
+ - name: mdBook Action
+ uses: peaceiris/actions-mdbook@v1.1.11
+ with:
+ mdbook-version: '0.3.1'
+
+ - name: Build book in English
+ run: cd book/en && mdbook build
+
+ - name: Build book in Russian
+ run: cd book/ru && mdbook build
+
+ - name: Check links
+ run: |
+ td=$(mktemp -d)
+ mkdir $td/book
+ cp -r book/en/book $td/book/en
+ cp -r book/ru/book $td/book/ru
+ cp LICENSE-* $td/book/en
+ cp LICENSE-* $td/book/ru
+
+ linkchecker $td/book/en/
+ linkchecker $td/book/ru/
+
+ # Only runs when pushing to master branch
+ deploy:
+ name: deploy
+ runs-on: ubuntu-latest
+ needs:
+ - style
+ - check
+ - checkexamples
+ - checkmacros
+ - testv7
+ - testv6
+ - checkmulticore
+ - docs
+ - mdbook
+ # Only run this when pushing to master branch
+ if: github.ref == 'refs/heads/master'
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Set up Python 3.x
+ uses: actions/setup-python@v2
+ with:
+ # Semantic version range syntax or exact version of a Python version
+ python-version: '3.x'
+ # Optional - x64 or x86 architecture, defaults to x64
+ architecture: 'x64'
+
+ # You can test your matrix by printing the current Python version
+ - name: Display Python version
+ run: python -c "import sys; print(sys.version)"
+
+ - name: mdBook Action
+ uses: peaceiris/actions-mdbook@v1.1.11
+ with:
+ mdbook-version: '0.3.1'
+ # mdbook-version: 'latest'
+
+ - name: Remove cargo-config
+ run: rm -f .cargo/config
+
+ - name: Build docs
+ run: cargo doc
+
+ - name: Build books
+ run: |
+ langs=( en ru )
+ latest=0.5
+ vers=( 0.4.x )
+
+ # Create directories
+ td=$(mktemp -d)
+ mkdir -p $td/$latest/book/
+ cp -r target/doc $td/$latest/api
+
+ # sed fixes
+ sed 's|URL|rtic/index.html|g' redirect.html > $td/$latest/api/index.html
+ sed 's|URL|0.5|g' redirect.html > $td/index.html
+ sed 's|URL|book/en|g' redirect.html > $td/$latest/index.html
+
+ # Build books
+ for lang in ${langs[@]}; do
+ ( cd book/$lang && mdbook build )
+ cp -r book/$lang/book $td/$latest/book/$lang
+ cp LICENSE-* $td/$latest/book/$lang/
+ done
+
+ # Build older versions
+ root=$(pwd)
+ for ver in ${vers[@]}; do
+ prefix=${ver%.*}
+
+ mkdir -p $td/$prefix/book
+ src=$(mktemp -d)
+ curl -L https://github.com/rtic-rs/cortex-m-rtic/archive/v${ver}.tar.gz | tar xz --strip-components 1 -C $src
+
+ pushd $src
+ rm -f .cargo/config
+ cargo doc || cargo doc --features timer-queue
+ cp -r target/doc $td/$prefix/api
+ sed 's|URL|rtic/index.html|g' $root/redirect.html > $td/$prefix/api/index.html
+ for lang in ${langs[@]}; do
+ ( cd book/$lang && mdbook build )
+ cp -r book/$lang/book $td/$prefix/book/$lang
+ cp LICENSE-* $td/$prefix/book/$lang/
+ done
+ sed 's|URL|book/en|g' $root/redirect.html > $td/$prefix/index.html
+ popd
+
+ rm -rf $src
+ done
+
+ # Forward CNAME file
+ cp CNAME $td/
+ mv $td/ bookstodeploy
+
+ - name: Deploy to GH-pages
+ uses: peaceiris/actions-gh-pages@v3
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: ./bookstodeploy
+
# 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!
@@ -397,6 +578,8 @@ jobs:
- testv7
- testv6
- checkmulticore
+ - docs
+ - mdbook
runs-on: ubuntu-latest
steps:
- name: Mark the job as a success
@@ -412,6 +595,8 @@ jobs:
- testv7
- testv6
- checkmulticore
+ - docs
+ - mdbook
runs-on: ubuntu-latest
steps:
- name: Mark the job as a failure
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
deleted file mode 100644
index 1b14aae3..00000000
--- a/.github/workflows/docs.yml
+++ /dev/null
@@ -1,93 +0,0 @@
-name: Docs
-
-on:
- push:
- branches:
- - master
- - ghatest
- pull_request:
- branches:
- - master
- - ghatest
-
-env:
- CARGO_TERM_COLOR: always
-
-jobs:
- docs:
- runs-on: ubuntu-latest
-
- steps:
- - name: Checkout
- uses: actions/checkout@v2
-
- - name: Set up Python 3.x
- uses: actions/setup-python@v2
- with:
- # Semantic version range syntax or exact version of a Python version
- python-version: '3.x'
- # Optional - x64 or x86 architecture, defaults to x64
- architecture: 'x64'
-
- # You can test your matrix by printing the current Python version
- - name: Display Python version
- run: python -c "import sys; print(sys.version)"
-
- - name: Install dependencies
- run: pip install git+https://github.com/linkchecker/linkchecker.git
-
- - name: Remove cargo-config
- run: rm -f .cargo/config
-
- - name: Build docs
- run: cargo doc
-
- - name: Check links
- run: |
- td=$(mktemp -d)
- cp -r target/doc $td/api
- linkchecker $td/api/rtic/
- linkchecker $td/api/cortex_m_rtic_macros/
-
- mdbook:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- - name: Set up Python 3.x
- uses: actions/setup-python@v2
- with:
- # Semantic version range syntax or exact version of a Python version
- python-version: '3.x'
- # Optional - x64 or x86 architecture, defaults to x64
- architecture: 'x64'
-
- # You can test your matrix by printing the current Python version
- - name: Display Python version
- run: python -c "import sys; print(sys.version)"
-
- - name: Install dependencies
- run: pip install git+https://github.com/linkchecker/linkchecker.git
-
- - name: mdBook Action
- uses: peaceiris/actions-mdbook@v1.1.11
- with:
- mdbook-version: '0.3.1'
-
- - name: Build book in English
- run: cd book/en && mdbook build
-
- - name: Build book in Russian
- run: cd book/ru && mdbook build
-
- - name: Check links
- run: |
- td=$(mktemp -d)
- mkdir $td/book
- cp -r book/en/book $td/book/en
- cp -r book/ru/book $td/book/ru
- cp LICENSE-* $td/book/en
- cp LICENSE-* $td/book/ru
-
- linkchecker $td/book/en/
- linkchecker $td/book/ru/
diff --git a/.github/workflows/properties/build.properties.json b/.github/workflows/properties/build.properties.json
index e447a1ed..fd3eed37 100644
--- a/.github/workflows/properties/build.properties.json
+++ b/.github/workflows/properties/build.properties.json
@@ -1,6 +1,6 @@
{
"name": "Build",
- "description": "Build and test a Rust project with Cargo.",
+ "description": "RTIC Test Suite",
"iconName": "rust",
"categories": ["Rust"]
}
diff --git a/.github/workflows/properties/docs.properties.json b/.github/workflows/properties/docs.properties.json
deleted file mode 100644
index a9a052c4..00000000
--- a/.github/workflows/properties/docs.properties.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "name": "Docs",
- "description": "Build the books.",
- "iconName": "rust",
- "categories": ["Rust"]
-}
diff --git a/.github/workflows/properties/publish.properties.json b/.github/workflows/properties/publish.properties.json
deleted file mode 100644
index fa9b8cda..00000000
--- a/.github/workflows/properties/publish.properties.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "name": "Publish",
- "description": "Publish the books and docs.",
- "iconName": "rust",
- "categories": ["Rust"]
-}
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
deleted file mode 100644
index 5c534fcf..00000000
--- a/.github/workflows/publish.yml
+++ /dev/null
@@ -1,94 +0,0 @@
-name: Publish
-
-on:
- push:
- branches:
- - master
-
-jobs:
- deploy:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
-
- - name: Set up Python 3.x
- uses: actions/setup-python@v2
- with:
- # Semantic version range syntax or exact version of a Python version
- python-version: '3.x'
- # Optional - x64 or x86 architecture, defaults to x64
- architecture: 'x64'
-
- # You can test your matrix by printing the current Python version
- - name: Display Python version
- run: python -c "import sys; print(sys.version)"
-
- - name: mdBook Action
- uses: peaceiris/actions-mdbook@v1.1.11
- with:
- mdbook-version: '0.3.1'
- # mdbook-version: 'latest'
-
- - name: Remove cargo-config
- run: rm -f .cargo/config
-
- - name: Build docs
- run: cargo doc
-
- - name: Build books
- run: |
- langs=( en ru )
- latest=0.5
- vers=( 0.4.x )
-
- # Create directories
- td=$(mktemp -d)
- mkdir -p $td/$latest/book/
- cp -r target/doc $td/$latest/api
-
- # sed fixes
- sed 's|URL|rtic/index.html|g' redirect.html > $td/$latest/api/index.html
- sed 's|URL|0.5|g' redirect.html > $td/index.html
- sed 's|URL|book/en|g' redirect.html > $td/$latest/index.html
-
- # Build books
- for lang in ${langs[@]}; do
- ( cd book/$lang && mdbook build )
- cp -r book/$lang/book $td/$latest/book/$lang
- cp LICENSE-* $td/$latest/book/$lang/
- done
-
- # Build older versions
- root=$(pwd)
- for ver in ${vers[@]}; do
- prefix=${ver%.*}
-
- mkdir -p $td/$prefix/book
- src=$(mktemp -d)
- curl -L https://github.com/rtic-rs/cortex-m-rtic/archive/v${ver}.tar.gz | tar xz --strip-components 1 -C $src
-
- pushd $src
- rm -f .cargo/config
- cargo doc || cargo doc --features timer-queue
- cp -r target/doc $td/$prefix/api
- sed 's|URL|rtic/index.html|g' $root/redirect.html > $td/$prefix/api/index.html
- for lang in ${langs[@]}; do
- ( cd book/$lang && mdbook build )
- cp -r book/$lang/book $td/$prefix/book/$lang
- cp LICENSE-* $td/$prefix/book/$lang/
- done
- sed 's|URL|book/en|g' $root/redirect.html > $td/$prefix/index.html
- popd
-
- rm -rf $src
- done
-
- # Forward CNAME file
- cp CNAME $td/
- mv $td/ bookstodeploy
-
- - name: Deploy
- uses: peaceiris/actions-gh-pages@v3
- with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- publish_dir: ./bookstodeploy