From 9b860d854592b73a9d5630d430f7e2090be71f63 Mon Sep 17 00:00:00 2001 From: Antonin Bas Date: Mon, 20 Feb 2023 10:40:06 -0800 Subject: [PATCH] Use new Github Action to upload release assets (#4638) Use alexellis/upload-assets instead of actions/upload-release-asset, which is no longer maintained. One advantage is that we can list all assets with a glob expression, so the workflow file is much less verbose. We also do a minor change to ./hack/generate-manifest-windows.sh, so that it can be run on macOS (one of the sed commands was GNU-specific, and there is no reason to use sed instead of kustomize). Fixes #4514 Signed-off-by: Antonin Bas --- .github/workflows/process_release.yml | 297 +----------------- build/yamls/.gitignore | 1 + build/yamls/windows/base/kustomization.yml | 12 +- .../{base => containerd}/agent-containerd.yml | 0 .../conf/Install-WindowsCNI-Containerd.ps1 | 0 .../conf/Run-AntreaAgent-Containerd.ps1 | 0 .../windows/containerd/kustomization.yml | 13 + .../yamls/windows/{base => default}/agent.yml | 0 .../conf/Run-AntreaAgent.ps1 | 0 build/yamls/windows/default/kustomization.yml | 12 + hack/generate-manifest-windows.sh | 16 +- hack/verify-kustomize.sh | 2 +- multicluster/hack/update-checksum.sh | 2 +- 13 files changed, 37 insertions(+), 318 deletions(-) create mode 100644 build/yamls/.gitignore rename build/yamls/windows/{base => containerd}/agent-containerd.yml (100%) rename build/yamls/windows/{base => containerd}/conf/Install-WindowsCNI-Containerd.ps1 (100%) rename build/yamls/windows/{base => containerd}/conf/Run-AntreaAgent-Containerd.ps1 (100%) create mode 100644 build/yamls/windows/containerd/kustomization.yml rename build/yamls/windows/{base => default}/agent.yml (100%) rename build/yamls/windows/{base => default}/conf/Run-AntreaAgent.ps1 (100%) create mode 100644 build/yamls/windows/default/kustomization.yml diff --git a/.github/workflows/process_release.yml b/.github/workflows/process_release.yml index 254755c0f49..998f49e382b 100644 --- a/.github/workflows/process_release.yml +++ b/.github/workflows/process_release.yml @@ -20,303 +20,12 @@ jobs: run: | mkdir assets VERSION="${TAG:10}" ./hack/release/prepare-assets.sh ./assets - - name: Upload antctl-darwin-x86_64 - uses: actions/upload-release-asset@v1 + - name: Upload all assets + uses: alexellis/upload-assets@0.4.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antctl-darwin-x86_64 - asset_name: antctl-darwin-x86_64 - asset_content_type: application/octet-stream - - name: Upload antctl-linux-arm - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antctl-linux-arm - asset_name: antctl-linux-arm - asset_content_type: application/octet-stream - - name: Upload antctl-linux-arm64 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antctl-linux-arm64 - asset_name: antctl-linux-arm64 - asset_content_type: application/octet-stream - - name: Upload antctl-linux-x86_64 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antctl-linux-x86_64 - asset_name: antctl-linux-x86_64 - asset_content_type: application/octet-stream - - name: Upload antctl-windows-x86_64.exe - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antctl-windows-x86_64.exe - asset_name: antctl-windows-x86_64.exe - asset_content_type: application/octet-stream - - name: Upload antrea-octant-plugin-darwin-x86_64 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-octant-plugin-darwin-x86_64 - asset_name: antrea-octant-plugin-darwin-x86_64 - asset_content_type: application/octet-stream - - name: Upload antrea-octant-plugin-linux-arm - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-octant-plugin-linux-arm - asset_name: antrea-octant-plugin-linux-arm - asset_content_type: application/octet-stream - - name: Upload antrea-octant-plugin-linux-arm64 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-octant-plugin-linux-arm64 - asset_name: antrea-octant-plugin-linux-arm64 - asset_content_type: application/octet-stream - - name: Upload antrea-octant-plugin-linux-x86_64 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-octant-plugin-linux-x86_64 - asset_name: antrea-octant-plugin-linux-x86_64 - asset_content_type: application/octet-stream - - name: Upload antrea-octant-plugin-windows-x86_64.exe - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-octant-plugin-windows-x86_64.exe - asset_name: antrea-octant-plugin-windows-x86_64.exe - asset_content_type: application/octet-stream - - name: Upload antrea.yml - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea.yml - asset_name: antrea.yml - asset_content_type: application/octet-stream - - name: Upload antrea-crds.yml - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-crds.yml - asset_name: antrea-crds.yml - asset_content_type: application/octet-stream - - name: Upload antrea-ipsec.yml - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-ipsec.yml - asset_name: antrea-ipsec.yml - asset_content_type: application/octet-stream - - name: Upload antrea-eks.yml - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-eks.yml - asset_name: antrea-eks.yml - asset_content_type: application/octet-stream - - name: Upload antrea-gke.yml - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-gke.yml - asset_name: antrea-gke.yml - asset_content_type: application/octet-stream - - name: Upload antrea-aks.yml - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-aks.yml - asset_name: antrea-aks.yml - asset_content_type: application/octet-stream - - name: Upload antrea-octant.yml - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-octant.yml - asset_name: antrea-octant.yml - asset_content_type: application/octet-stream - - name: Upload antrea-windows.yml - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-windows.yml - asset_name: antrea-windows.yml - asset_content_type: application/octet-stream - - name: Upload antrea-windows-containerd.yml - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-windows-containerd.yml - asset_name: antrea-windows-containerd.yml - asset_content_type: application/octet-stream - - name: Upload flow-aggregator.yml - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/flow-aggregator.yml - asset_name: flow-aggregator.yml - asset_content_type: application/octet-stream - - name: Upload antrea-multicluster-leader-global.yml - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-multicluster-leader-global.yml - asset_name: antrea-multicluster-leader-global.yml - asset_content_type: application/octet-stream - - name: Upload antrea-multicluster-leader-namespaced.yml - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-multicluster-leader-namespaced.yml - asset_name: antrea-multicluster-leader-namespaced.yml - asset_content_type: application/octet-stream - - name: Upload antrea-multicluster-member.yml - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-multicluster-member.yml - asset_name: antrea-multicluster-member.yml - asset_content_type: application/octet-stream - - name: Upload antrea-agent-linux-x86_64 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-agent-linux-x86_64 - asset_name: antrea-agent-linux-x86_64 - asset_content_type: application/octet-stream - - name: Upload antrea-agent-linux-arm64 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-agent-linux-arm64 - asset_name: antrea-agent-linux-arm64 - asset_content_type: application/octet-stream - - name: Upload antrea-agent-linux-arm - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-agent-linux-arm - asset_name: antrea-agent-linux-arm - asset_content_type: application/octet-stream - - name: Upload antrea-agent-windows-x86_64.exe - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-agent-windows-x86_64.exe - asset_name: antrea-agent-windows-x86_64.exe - asset_content_type: application/octet-stream - - name: Upload antrea-cni-windows-x86_64.exe - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-cni-windows-x86_64.exe - asset_name: antrea-cni-windows-x86_64.exe - asset_content_type: application/octet-stream - - name: Upload Start-AntreaAgent.ps1 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/Start-AntreaAgent.ps1 - asset_name: Start-AntreaAgent.ps1 - asset_content_type: application/octet-stream - - name: Upload Antrea Helm chart archive - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/antrea-chart.tgz - asset_name: antrea-chart.tgz - asset_content_type: application/octet-stream - - name: Upload Flow Aggregator Helm chart archive - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/flow-aggregator-chart.tgz - asset_name: flow-aggregator-chart.tgz - asset_content_type: application/octet-stream - - name: Upload install-vm.sh - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/install-vm.sh - asset_name: install-vm.sh - asset_content_type: application/octet-stream - - name: Upload install-vm.ps1 - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./assets/install-vm.ps1 - asset_name: install-vm.ps1 - asset_content_type: application/octet-stream + asset_paths: '["./assets/*"]' update-website: name: Trigger website update for release diff --git a/build/yamls/.gitignore b/build/yamls/.gitignore new file mode 100644 index 00000000000..184c13d64e1 --- /dev/null +++ b/build/yamls/.gitignore @@ -0,0 +1 @@ +overlays.* diff --git a/build/yamls/windows/base/kustomization.yml b/build/yamls/windows/base/kustomization.yml index 9fef5f3c748..39117360659 100644 --- a/build/yamls/windows/base/kustomization.yml +++ b/build/yamls/windows/base/kustomization.yml @@ -1,15 +1,7 @@ -resources: -- agent.yml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization configMapGenerator: - files: - conf/antrea-agent.conf - conf/antrea-cni.conflist name: antrea-windows-config -- files: - - conf/Run-AntreaAgent.ps1 - name: antrea-agent-windows -commonLabels: - app: antrea -namespace: kube-system -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization diff --git a/build/yamls/windows/base/agent-containerd.yml b/build/yamls/windows/containerd/agent-containerd.yml similarity index 100% rename from build/yamls/windows/base/agent-containerd.yml rename to build/yamls/windows/containerd/agent-containerd.yml diff --git a/build/yamls/windows/base/conf/Install-WindowsCNI-Containerd.ps1 b/build/yamls/windows/containerd/conf/Install-WindowsCNI-Containerd.ps1 similarity index 100% rename from build/yamls/windows/base/conf/Install-WindowsCNI-Containerd.ps1 rename to build/yamls/windows/containerd/conf/Install-WindowsCNI-Containerd.ps1 diff --git a/build/yamls/windows/base/conf/Run-AntreaAgent-Containerd.ps1 b/build/yamls/windows/containerd/conf/Run-AntreaAgent-Containerd.ps1 similarity index 100% rename from build/yamls/windows/base/conf/Run-AntreaAgent-Containerd.ps1 rename to build/yamls/windows/containerd/conf/Run-AntreaAgent-Containerd.ps1 diff --git a/build/yamls/windows/containerd/kustomization.yml b/build/yamls/windows/containerd/kustomization.yml new file mode 100644 index 00000000000..5ae42b38f02 --- /dev/null +++ b/build/yamls/windows/containerd/kustomization.yml @@ -0,0 +1,13 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- agent-containerd.yml +- ../base +namespace: kube-system +commonLabels: + app: antrea +configMapGenerator: +- files: + - conf/Run-AntreaAgent-Containerd.ps1 + - conf/Install-WindowsCNI-Containerd.ps1 + name: antrea-agent-windows diff --git a/build/yamls/windows/base/agent.yml b/build/yamls/windows/default/agent.yml similarity index 100% rename from build/yamls/windows/base/agent.yml rename to build/yamls/windows/default/agent.yml diff --git a/build/yamls/windows/base/conf/Run-AntreaAgent.ps1 b/build/yamls/windows/default/conf/Run-AntreaAgent.ps1 similarity index 100% rename from build/yamls/windows/base/conf/Run-AntreaAgent.ps1 rename to build/yamls/windows/default/conf/Run-AntreaAgent.ps1 diff --git a/build/yamls/windows/default/kustomization.yml b/build/yamls/windows/default/kustomization.yml new file mode 100644 index 00000000000..311d35a93b2 --- /dev/null +++ b/build/yamls/windows/default/kustomization.yml @@ -0,0 +1,12 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- agent.yml +- ../base +namespace: kube-system +commonLabels: + app: antrea +configMapGenerator: +- files: + - conf/Run-AntreaAgent.ps1 + name: antrea-agent-windows diff --git a/hack/generate-manifest-windows.sh b/hack/generate-manifest-windows.sh index 54594276a5b..03c5dd63533 100755 --- a/hack/generate-manifest-windows.sh +++ b/hack/generate-manifest-windows.sh @@ -109,19 +109,16 @@ TMP_DIR=$(mktemp -d $KUSTOMIZATION_DIR/overlays.XXXXXXXX) pushd $TMP_DIR > /dev/null -BASE=../../base +BASE=../../default +if [ "$RUNTIME" == "containerd" ]; then + BASE=../../containerd +fi mkdir $MODE && cd $MODE touch kustomization.yml # ../../patches/$MODE may be empty so we use find and not simply cp find ../../patches/$MODE -name \*.yml -exec cp {} . \; -if [ "$RUNTIME" == "containerd" ]; then - sed -i.bak "s/agent.yml/agent-containerd.yml/g" $BASE/kustomization.yml - sed -i.bak "s/Run-AntreaAgent.ps1/Run-AntreaAgent-Containerd.ps1/g" $BASE/kustomization.yml - sed -i.bak "/name: antrea-agent-windows/i\ - conf/Install-WindowsCNI-Containerd.ps1" $BASE/kustomization.yml -fi - $KUSTOMIZE edit add base $BASE if [ "$MODE" == "dev" ]; then @@ -135,11 +132,6 @@ fi $KUSTOMIZE build -if [ "$RUNTIME" == "containerd" ]; then - rm $BASE/kustomization.yml - mv $BASE/kustomization.yml.bak $BASE/kustomization.yml -fi - popd > /dev/null if $KEEP; then diff --git a/hack/verify-kustomize.sh b/hack/verify-kustomize.sh index bfe0ae06c7a..20983914dbf 100644 --- a/hack/verify-kustomize.sh +++ b/hack/verify-kustomize.sh @@ -18,7 +18,7 @@ THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" _BINDIR="$THIS_DIR/.bin" # Must be an exact match, as the generated YAMLs may not be consistent across # versions -_KUSTOMIZE_VERSION="v4.4.1" +_KUSTOMIZE_VERSION="v4.5.7" # Ensure the kustomize tool exists and is the correct version, or installs it verify_kustomize() { diff --git a/multicluster/hack/update-checksum.sh b/multicluster/hack/update-checksum.sh index 0cb8a30d7e3..97a39ef930c 100755 --- a/multicluster/hack/update-checksum.sh +++ b/multicluster/hack/update-checksum.sh @@ -22,5 +22,5 @@ MANIFESTS=$(ls $YAMLS_DIR) checksum=$(cat "${WORK_DIR}"/../config/default/configmap/controller_manager_config.yaml | sha256sum | cut -d " " -f 1) for file in ${MANIFESTS[@]}; do - sed -i "s/checksum-placeholder/${checksum}/g" ${YAMLS_DIR}/$file + sed -i.bak "s/checksum-placeholder/${checksum}/g" ${YAMLS_DIR}/$file done