Update deploy CI
This updates all the deploy scripts and the deploy workflow. The deploy workflow now runs the metadata collector to collect the lint documentation. It also changes the files that are checked out in the deploy workflow from master and adds an explanation why we have to do this.
This commit is contained in:
parent
ac0fd99194
commit
6c5d199d57
4 changed files with 21 additions and 9 deletions
9
.github/deploy.sh
vendored
9
.github/deploy.sh
vendored
|
@ -8,13 +8,12 @@ rm -rf out/master/ || exit 0
|
||||||
echo "Making the docs for master"
|
echo "Making the docs for master"
|
||||||
mkdir out/master/
|
mkdir out/master/
|
||||||
cp util/gh-pages/index.html out/master
|
cp util/gh-pages/index.html out/master
|
||||||
python3 ./util/export.py out/master/lints.json
|
cp util/gh-pages/lints.json out/master
|
||||||
|
|
||||||
if [[ -n $TAG_NAME ]]; then
|
if [[ -n $TAG_NAME ]]; then
|
||||||
echo "Save the doc for the current tag ($TAG_NAME) and point stable/ to it"
|
echo "Save the doc for the current tag ($TAG_NAME) and point stable/ to it"
|
||||||
cp -r out/master "out/$TAG_NAME"
|
cp -Tr out/master "out/$TAG_NAME"
|
||||||
rm -f out/stable
|
ln -sf "$TAG_NAME" out/stable
|
||||||
ln -s "$TAG_NAME" out/stable
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $BETA = "true" ]]; then
|
if [[ $BETA = "true" ]]; then
|
||||||
|
@ -28,8 +27,8 @@ cp util/gh-pages/versions.html out/index.html
|
||||||
echo "Making the versions.json file"
|
echo "Making the versions.json file"
|
||||||
python3 ./util/versions.py out
|
python3 ./util/versions.py out
|
||||||
|
|
||||||
cd out
|
|
||||||
# Now let's go have some fun with the cloned repo
|
# Now let's go have some fun with the cloned repo
|
||||||
|
cd out
|
||||||
git config user.name "GHA CI"
|
git config user.name "GHA CI"
|
||||||
git config user.email "gha@ci.invalid"
|
git config user.email "gha@ci.invalid"
|
||||||
|
|
||||||
|
|
17
.github/workflows/deploy.yml
vendored
17
.github/workflows/deploy.yml
vendored
|
@ -39,10 +39,23 @@ jobs:
|
||||||
if: github.ref == 'refs/heads/beta'
|
if: github.ref == 'refs/heads/beta'
|
||||||
run: echo "BETA=true" >> $GITHUB_ENV
|
run: echo "BETA=true" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Use scripts and templates from master branch
|
# We need to check out all files that (transitively) depend on the
|
||||||
|
# structure of the gh-pages branch, so that we're able to change that
|
||||||
|
# structure without breaking the deployment.
|
||||||
|
- name: Use deploy files from master branch
|
||||||
run: |
|
run: |
|
||||||
git fetch --no-tags --prune --depth=1 origin master
|
git fetch --no-tags --prune --depth=1 origin master
|
||||||
git checkout origin/master -- .github/deploy.sh util/gh-pages/ util/*.py
|
git checkout origin/master -- .github/deploy.sh util/versions.py util/gh-pages/versions.html
|
||||||
|
|
||||||
|
# Generate lockfile for caching to avoid build problems with cached deps
|
||||||
|
- name: cargo generate-lockfile
|
||||||
|
run: cargo generate-lockfile
|
||||||
|
|
||||||
|
- name: Cache
|
||||||
|
uses: Swatinem/rust-cache@v1.3.0
|
||||||
|
|
||||||
|
- name: cargo collect-metadata
|
||||||
|
run: cargo collect-metadata
|
||||||
|
|
||||||
- name: Deploy
|
- name: Deploy
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -32,7 +32,7 @@ use clippy_utils::{
|
||||||
};
|
};
|
||||||
|
|
||||||
/// This is the output file of the lint collector.
|
/// This is the output file of the lint collector.
|
||||||
const OUTPUT_FILE: &str = "../util/gh-pages/metadata_collection.json";
|
const OUTPUT_FILE: &str = "../util/gh-pages/lints.json";
|
||||||
/// These lints are excluded from the export.
|
/// These lints are excluded from the export.
|
||||||
const BLACK_LISTED_LINTS: [&str; 3] = ["lint_author", "deep_code_inspection", "internal_metadata_collector"];
|
const BLACK_LISTED_LINTS: [&str; 3] = ["lint_author", "deep_code_inspection", "internal_metadata_collector"];
|
||||||
/// These groups will be ignored by the lint group matcher. This is useful for collections like
|
/// These groups will be ignored by the lint group matcher. This is useful for collections like
|
||||||
|
|
|
@ -183,7 +183,7 @@ fn run_metadata_collection_lint() {
|
||||||
use std::time::SystemTime;
|
use std::time::SystemTime;
|
||||||
|
|
||||||
// Setup for validation
|
// Setup for validation
|
||||||
let metadata_output_path = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("util/gh-pages/metadata_collection.json");
|
let metadata_output_path = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("util/gh-pages/lints.json");
|
||||||
let start_time = SystemTime::now();
|
let start_time = SystemTime::now();
|
||||||
|
|
||||||
// Run collection as is
|
// Run collection as is
|
||||||
|
|
Loading…
Add table
Reference in a new issue