Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/feature/diff-based-ci' into w/12…
Browse files Browse the repository at this point in the history
…9.0/feature/diff-based-ci
  • Loading branch information
TeddyAndrieux committed Oct 9, 2024
2 parents 25bf3d2 + 3f2ad48 commit 279830a
Show file tree
Hide file tree
Showing 9 changed files with 708 additions and 591 deletions.
83 changes: 83 additions & 0 deletions .github/changed-files.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
docs:
- docs/**
- artwork/**
- .github/workflows/build-docs.yaml
- VERSION
- buildchain/buildchain/versions.py
- buildchain/buildchain/constants.py
- salt/metalk8s/defaults.yaml
- tools/lib-alert-tree/**
- tools/rule_extractor/alerting_rules.json
- tox.ini

shell-ui:
- shell-ui/**
- VERSION

unit-tests-ui: &ui
- ui/**

unit-tests-shell-ui: &shell-ui
- shell-ui/**

unit-tests-crd-client-generator:
- tools/crd-client-generator-js/**

unit-tests-metalk8s-operator:
- operator/**

unit-tests-storage-operator:
- storage-operator/**

unit-tests-salt:
- salt/**
- tox.ini

unit-tests-lib-alert-tree:
- tools/lib-alert-tree/**

integration-tests-ui:
- *ui
- *shell-ui

build:
- "**"
# Only consider pre-merge workflows
- "!.github/workflows/**"
- .github/workflows/pre-merge.yaml
- .github/workflows/build.yaml
- .github/workflows/e2e-tests.yaml
- .github/workflows/single-node-test.yaml
- .github/workflows/multi-node-test.yaml
# Filter out github stuff
- "!.github/CODEOWNERS"
- "!.github/changed-files.yaml"
- "!.github/dependabot.yaml"
- "!.github/ISSUE_TEMPLATE/**"
- "!.github/labeler.yaml"
- "!.github/PULL_REQUEST_TEMPLATE.md"
- "!.github/scripts/build-conformance-pr-content.sh"
- "!.github/scripts/stabilize_snapshot.py"
# Filter out docs
- "!docs/**"
- "!artwork/**"
- "!**/*.md"
# Filter out tools
- "!tools/**"
# Filter out charts
- "!charts/**"
# Filter out unit tests
- "!salt/tests"
- "!**/*_test.go"
# Filter out Solution operator lib
- "!solution-operator-lib/**"
# Filter out devX and tools
- "!.pre-commit-config.yaml"
- "!.devcontainer/**"
- "!.gitignore"
- "!LICENSE"
- "!README.md"
- "!CONTRIBUTING.md"
- "!CHANGELOG.md"
- "!Vagrantfile"
- "!vagrant_config.rb.example"
53 changes: 53 additions & 0 deletions .github/workflows/build-docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: "Build docs"

on:
workflow_call:
inputs:
ref:
description: "the git revision to checkout"
default: ${{ github.ref }}
required: false
type: string
secrets:
ARTIFACTS_USER:
required: true
ARTIFACTS_PASSWORD:
required: true

jobs:
docs:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ inputs.ref }}
- name: Install Python 3
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install deps
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get install --no-install-recommends -y plantuml
python3.10 -m pip install tox~=4.0.19
- name: Build documentation for ReadTheDocs
env:
# Fake that we are building in a ReadTheDocs environment
READTHEDOCS: "True"
run: tox --workdir /tmp/tox -e docs -- html
- name: Copy generated docs for ReadTheDocs
run: mkdir -p artifacts/docs/readthedocs && cp -r docs/_build/* artifacts/docs/readthedocs/
- name: Build documentation with Scality theme
run: rm -rf docs/_build && tox --workdir /tmp/tox -e docs -- html
- name: Copy generated docs with Scality theme
run: cp -r docs/_build/* artifacts/docs/ && cp CHANGELOG.md artifacts/docs/
- name: Upload artifacts
uses: scality/action-artifacts@v4
with:
method: upload
url: https://artifacts.scality.net
user: ${{ secrets.ARTIFACTS_USER }}
password: ${{ secrets.ARTIFACTS_PASSWORD }}
source: artifacts
53 changes: 53 additions & 0 deletions .github/workflows/build-shell-ui.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: "Build shell-ui"

on:
workflow_call:
inputs:
ref:
description: "the git revision to checkout"
default: ${{ github.ref }}
required: false
type: string
secrets:
ARTIFACTS_USER:
required: true
ARTIFACTS_PASSWORD:
required: true

jobs:
shell-ui:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ inputs.ref }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Compute shell-ui version
run: |
source VERSION
echo "SHELL_UI_VERSION=$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH$VERSION_SUFFIX" >> $GITHUB_ENV
- name: Build shell-ui container image
run: docker build . --tag shell-ui:v$SHELL_UI_VERSION
working-directory: shell-ui
- name: Extract shell folder from shell-ui container
run: |
docker create --name shell-ui shell-ui:v$SHELL_UI_VERSION
docker cp shell-ui:/usr/share/nginx/html/shell .
docker rm shell-ui
tar cvf shell.tar shell
- name: Save shell-ui container image
run: >
docker save shell-ui:v$SHELL_UI_VERSION |
gzip > shell-ui.tar.gz
- name: Prepare artifacts
run: mkdir -p "artifacts/images" && mv shell-ui.tar.gz artifacts/images/ && mv shell.tar artifacts/images/
- name: Upload artifacts
uses: scality/action-artifacts@v4
with:
method: upload
url: https://artifacts.scality.net
user: ${{ secrets.ARTIFACTS_USER }}
password: ${{ secrets.ARTIFACTS_PASSWORD }}
source: artifacts
Loading

0 comments on commit 279830a

Please sign in to comment.