Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: release 07-07-23 #12

Open
wants to merge 31 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
18399a9
feat: Add AWSAZChaos
nirmal-vadakkepalangatt-form3 Apr 26, 2023
d9edae1
run make generate
nirmal-vadakkepalangatt-form3 Apr 26, 2023
b8893be
chore: temp change to run chaos without actually altering the acl
nirmal-vadakkepalangatt-form3 Apr 27, 2023
172babe
add extra logging
nirmal-vadakkepalangatt-form3 Apr 27, 2023
a25054a
generated after running make all
nirmal-vadakkepalangatt-form3 Apr 27, 2023
5b53a5a
change documentation
nirmal-vadakkepalangatt-form3 Apr 27, 2023
ea6e402
add maxresults to 10
nirmal-vadakkepalangatt-form3 Apr 27, 2023
b2bf30f
filter for subnets
nirmal-vadakkepalangatt-form3 Apr 27, 2023
62a7e59
add back the logic to replace subnet associations
nirmal-vadakkepalangatt-form3 Apr 27, 2023
f2056bf
Add build info in readme
nirmal-vadakkepalangatt-form3 May 2, 2023
d65e331
feat: improve aws chaos, adding filters support
miketonks-form3 Jun 16, 2023
115f9a2
chore: adding generated files
miketonks-form3 Jun 16, 2023
147057d
fix: test fail. tidy up.
miketonks-form3 Jun 17, 2023
8945d83
chore: use mock package for test client. Move secret into selector
miketonks-form3 Jun 19, 2023
be85be8
feat: rework CI pipeline
rekfuki-f3 Jun 30, 2023
82df9b3
chore: Add new Instance type to avoid overloading the AWSSelector
miketonks-form3 Jun 29, 2023
48ebe2f
fix: remove hardcoded tag version from release comment
rekfuki-f3 Jul 6, 2023
0d60aee
Merge pull request #9 from form3tech-oss/an-fix-release-tag
rekfuki-f3 Jul 6, 2023
843b826
feat: extends Task with additional PodSpec fields
rekfuki-f3 Jul 6, 2023
85887c4
fix: use github.tag instead of github.event.after
rekfuki-f3 Jul 6, 2023
2588bd9
fix: build UI when building images
rekfuki-f3 Jul 7, 2023
cea85b7
feat: refactor AWSAzChaos field names
rekfuki-f3 Jul 7, 2023
f714d95
fix: checkout code when checking for changes
rekfuki-f3 Jul 7, 2023
d671d10
fix: check for all ui code for testing
rekfuki-f3 Jul 7, 2023
6bfa422
fix: mock
rekfuki-f3 Jul 7, 2023
a752022
Merge branch 'az-loss' into release-07-07-23
rekfuki-f3 Jul 7, 2023
77e7073
Merge branch 'mike-aws-chaos' into release-07-07-23
rekfuki-f3 Jul 7, 2023
29eb704
Merge branch 'an-exten-task-context' into release-07-07-23
rekfuki-f3 Jul 7, 2023
874999a
trigger ci
rekfuki-f3 Jul 11, 2023
7ff75e4
trigger ci
rekfuki-f3 Jul 11, 2023
91398cc
trigger ci
rekfuki-f3 Jul 11, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/.licenserc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,14 @@ header:
- '**/*.json'
- '**/*.log'
- 'vendor/**'
- 'api/vendor/**'
- '**/go.mod'
- '**/go.sum'
- '**/*.crt'
- '**/*.key'
- '**/*.ext'
- '**/*.csr'
- '.github/CODEOWNERS'
- '.github/workflows/*'
- '.github/ISSUE_TEMPLATE/config.yml'
- '.github/.licenserc.yaml'
Expand Down
183 changes: 183 additions & 0 deletions .github/workflows/build_targets.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
name: Build images and chart

on:
workflow_call:
outputs:
images-artifact-name:
description: "The name of the image build artifact"
value: ${{ inputs.images-artifact-name }}

images-cache-key:
description: "The name of the image cache"
value: ${{ inputs.images-cache-key }}

e2e-binary-artifact-name:
description: "The name of the e2e binary build artifact"
value: ${{ inputs.e2e-binary-name }}

e2e-binary-cache-key:
description: "The name of the e2e binary cache key"
value: ${{ inputs.e2e-binary-cache-key }}

chart-name:
description: "Chart name with a version"
value: ${{ jobs.build-chart.outputs.chart-name }}

chart-artifact-name:
description: "The name of the chart artifact"
value: ${{ inputs.chart-artifact-name }}

inputs:
images-artifact-name:
description: "Name of the images artifact"
type: string
default: saved-images

images-cache-key:
description: "Key used to upload e2e-image build cache"
type: string
default: e2e-images-build-cache

e2e-binary-name:
description: "Name of the e2e-binary artifact"
type: string
default: e2e-binary

e2e-binary-cache-key:
description: "Key used to upload e2e-binary build cache"
type: string
default: e2e-binary-build-cache

tag:
description: "Tag"
type: string
required: true

chart-artifact-name:
description: "The name of the chart artifact"
type: string
default: chart

permissions: read-all

jobs:
build-images:
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Restore build cache
id: cache
uses: martijnhols/actions-cache/restore@main
with:
path: cache
key: ${{ inputs.images-cache-key }}

- name: Build e2e images
env:
UI: 1
DOCKER_CACHE: 1
DOCKER_CACHE_DIR: ${{github.workspace}}/cache
GO_BUILD_CACHE: ${{github.workspace}}/cache
DOCKER_CLI_EXPERIMENTAL: enabled
run: |
docker buildx create --use --name chaos-mesh-builder
make -j4 image e2e-image

- name: Save docker images
run: |
mkdir -p ./output/saved-images
docker image save ghcr.io/chaos-mesh/chaos-dashboard:latest > ./output/saved-images/chaos-dashboard.tgz
docker image save ghcr.io/chaos-mesh/chaos-daemon:latest > ./output/saved-images/chaos-daemon.tgz
docker image save ghcr.io/chaos-mesh/chaos-mesh:latest > ./output/saved-images/chaos-mesh.tgz
docker image save ghcr.io/chaos-mesh/e2e-helper:latest > ./output/saved-images/e2e-helper.tgz

- name: Upload build cache
uses: martijnhols/actions-cache/save@main
with:
path: cache
key: ${{ inputs.images-cache-key }}

- name: Upload saved images
uses: actions/upload-artifact@v2
with:
name: ${{ inputs.images-artifact-name }}
path: ./output/saved-images
retention-days: 7

build-e2e-binary:
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Restore build cache
id: cache
uses: martijnhols/actions-cache/restore@main
with:
path: cache
key: ${{ inputs.e2e-binary-cache-key }}

- name: Build e2e binary
env:
DOCKER_CACHE: 1
DOCKER_CACHE_DIR: ${{github.workspace}}/cache
GO_BUILD_CACHE: ${{github.workspace}}/cache
run: |
make e2e-build

- name: Upload build cache
uses: martijnhols/actions-cache/save@main
with:
path: cache
key: ${{ inputs.e2e-binary-cache-key }}

- name: Upload e2e binary
uses: actions/upload-artifact@v2
with:
name: ${{ inputs.e2e-binary-name }}
path: ./e2e-test/image/e2e/bin
retention-days: 7

build-chart:
runs-on: ubuntu-20.04
outputs:
chart-name: ${{ steps.build-chart.outputs.chart-name }}

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Setup Helm
uses: azure/setup-helm@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}

- name: Build helm chart
id: build-chart
run: |
output_dir="./output/${{ inputs.chart-artifact-name }}"
helm package ./helm/chaos-mesh \
--version ${{ inputs.tag }} --app-version ${{ inputs.tag }} \
--destination "$output_dir"

chart_name="chaos-mesh-chart.tgz"
mv "$output_dir/chaos-mesh-${{ inputs.tag }}.tgz" "$output_dir/$chart_name"

echo "chart-path=$output_dir/$chart_name" >> $GITHUB_OUTPUT
echo "chart-name=$chart_name" >> $GITHUB_OUTPUT

- name: Upload chart
uses: actions/upload-artifact@v2
with:
name: ${{ inputs.chart-artifact-name }}
path: ${{ steps.build-chart.outputs.chart-path }}
retention-days: 7

pass:
needs: [build-images, build-e2e-binary, build-chart]
name: Build passed
runs-on: ubuntu-20.04
steps:
- run: echo "🎉 Build Passed!"
56 changes: 56 additions & 0 deletions .github/workflows/calculate_tag.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Calculate new tag

on:
workflow_call:
outputs:
tag:
description: "The the next semantic version tag based on commit messages."
value: ${{ jobs.calculate-tag.outputs.tag }}
inputs:
append_prerelease_suffix:
description: |
When set to true, a prerelease suffix will be added to the suffix of the tag.
required: false
type: boolean
default: "${{ github.event_name == 'pull_request' }}"
head_ref:
description: "Head ref to be used as pre-release suffix"
type: string
default: "${{ github.head_ref }}"
f3_tag:
description: "Additional tag to be prefixed to the latest upstream release tag"
type: string
default: "${{ github.sha }}"

jobs:
calculate-tag:
runs-on: ubuntu-20.04
permissions: read-all
outputs:
tag: "${{ steps.tag.outputs.tag }}"
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Determine latest upstream release tag
id: latest_tag
run: |
latest_tag=$(git tag -l | grep -E "v[0-9]+\.[0-9]+\.[0-9]+$" | tail -n 1)
echo "latest_tag=$latest_tag" >> $GITHUB_OUTPUT
- name: Calculate pre-release suffix
id: tag-suffix
if: ${{ inputs.append_prerelease_suffix }}
run: |
PRERELEASE="${{ inputs.head_ref }}"
underscores_and_slashes_to_dashes_suffix="${PRERELEASE//[\/_]/-}"
echo "tag-suffix=-${underscores_and_slashes_to_dashes_suffix}" >> $GITHUB_OUTPUT
- name: Compute next tag
id: tag
run: |
latest_tag="${{ steps.latest_tag.outputs.latest_tag }}"
sha5=$(echo "${{ inputs.f3_tag }}" | cut -c1-5)
tag="${latest_tag}-f3-${sha5}${{steps.tag-suffix.outputs.tag-suffix}}"
echo "tag=$tag" >> $GITHUB_OUTPUT
34 changes: 34 additions & 0 deletions .github/workflows/changed_files.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Detect changes files

on:
workflow_call:
outputs:
only_changed:
description: "Whether only the specified files have changed."
value: ${{ jobs.changed-files.outputs.only_changed }}

permissions: read-all

jobs:
changed-files:
runs-on: ubuntu-20.04
outputs:
only_changed: ${{ steps.filter.outputs.only_changed }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 2

- name: Get changed files
uses: tj-actions/changed-files@v34
id: filter
with:
files: |
.gitignore
**.md
ui/**
.github/**

- name: Echo changed files
run: echo "${{ toJSON(steps.filter.outputs) }}"
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
name: License checker

on:
pull_request:
branches:
- master
workflow_call: {}

permissions: read-all

jobs:
check-license:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Checkout code
uses: actions/checkout@v2

- name: Check License Header
uses: apache/[email protected]
env:
Expand Down
39 changes: 39 additions & 0 deletions .github/workflows/check_md_links.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Check markdown links

on:
workflow_call: {}

permissions: read-all

jobs:
changed-files:
runs-on: ubuntu-20.04
outputs:
any-changed: ${{ steps.filter.outputs.any_changed }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 2

- name: Get changed files
uses: tj-actions/changed-files@v34
id: filter
with:
files: |
**.md
.github/checklink_config.json

markdown-link-check:
needs: changed-files
if: needs.changed-files.outputs.any-changed == 'false'
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Check markdown links
uses: gaurav-nelson/github-action-markdown-link-check@v1
with:
use-quiet-mode: "yes"
config-file: ".github/checklink_config.json"
21 changes: 0 additions & 21 deletions .github/workflows/checklink.yaml

This file was deleted.

Loading