From 91714b22bcbda2fa6caa3d47744eb92ae43d1792 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophile=20Diot?= Date: Thu, 8 Aug 2024 21:45:34 +0100 Subject: [PATCH] chore: Fix workflows for 1.5 branch --- .github/dependabot.yml | 199 +++++++++++++++++++++ .github/workflows/container-build.yml | 5 +- .github/workflows/create-arm.yml | 2 +- .github/workflows/linux-build.yml | 11 +- .github/workflows/push-doc.yml | 2 +- .github/workflows/staging-create-infra.yml | 2 +- .github/workflows/staging-delete-infra.yml | 2 +- .github/workflows/test-core-linux.yml | 10 +- .github/workflows/test-core.yml | 1 + .github/workflows/tests-ui-linux.yml | 10 +- .github/workflows/tests-ui.yml | 1 + 11 files changed, 234 insertions(+), 11 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 5cb23423b..b2d7af83a 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -198,3 +198,202 @@ updates: commit-message: prefix: "deps/terraform" target-branch: "dev" + + # 1.5 branch + # GHA + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + time: "09:00" + timezone: "Europe/Paris" + assignees: + - "TheophileDiot" + reviewers: + - "TheophileDiot" + commit-message: + prefix: "deps/gha" + target-branch: "1.5" + + # Linux + - package-ecosystem: "docker" + directory: "/src/linux" + schedule: + interval: "daily" + time: "09:00" + timezone: "Europe/Paris" + assignees: + - "TheophileDiot" + reviewers: + - "TheophileDiot" + commit-message: + prefix: "deps/linux" + target-branch: "1.5" + - package-ecosystem: "docker" + directory: "/tests/linux" + schedule: + interval: "daily" + time: "09:00" + timezone: "Europe/Paris" + assignees: + - "TheophileDiot" + reviewers: + - "TheophileDiot" + commit-message: + prefix: "deps/tests/linux" + target-branch: "1.5" + + # BW + - package-ecosystem: "docker" + directory: "/src/bw" + schedule: + interval: "daily" + time: "09:00" + timezone: "Europe/Paris" + assignees: + - "TheophileDiot" + reviewers: + - "TheophileDiot" + commit-message: + prefix: "deps/bw" + target-branch: "1.5" + + # Scheduler + - package-ecosystem: "docker" + directory: "/src/scheduler" + schedule: + interval: "daily" + time: "09:00" + timezone: "Europe/Paris" + assignees: + - "TheophileDiot" + reviewers: + - "TheophileDiot" + commit-message: + prefix: "deps/scheduler" + target-branch: "1.5" + - package-ecosystem: "pip" + directory: "/src/scheduler" + schedule: + interval: "daily" + time: "09:00" + timezone: "Europe/Paris" + assignees: + - "TheophileDiot" + reviewers: + - "TheophileDiot" + commit-message: + prefix: "deps/scheduler" + target-branch: "1.5" + + # Autoconf + - package-ecosystem: "docker" + directory: "/src/autoconf" + schedule: + interval: "daily" + time: "09:00" + timezone: "Europe/Paris" + assignees: + - "TheophileDiot" + reviewers: + - "TheophileDiot" + commit-message: + prefix: "deps/autoconf" + target-branch: "1.5" + - package-ecosystem: "pip" + directory: "/src/autoconf" + schedule: + interval: "daily" + time: "09:00" + timezone: "Europe/Paris" + assignees: + - "TheophileDiot" + reviewers: + - "TheophileDiot" + commit-message: + prefix: "deps/autoconf" + target-branch: "1.5" + + # UI + - package-ecosystem: "docker" + directory: "/src/ui" + schedule: + interval: "daily" + time: "09:00" + timezone: "Europe/Paris" + assignees: + - "TheophileDiot" + reviewers: + - "TheophileDiot" + commit-message: + prefix: "deps/ui" + target-branch: "1.5" + - package-ecosystem: "pip" + directory: "/src/ui" + schedule: + interval: "daily" + time: "09:00" + timezone: "Europe/Paris" + assignees: + - "TheophileDiot" + reviewers: + - "TheophileDiot" + commit-message: + prefix: "deps/ui" + target-branch: "1.5" + + # Misc + - package-ecosystem: "pip" + directory: "/src/deps" + schedule: + interval: "daily" + time: "09:00" + timezone: "Europe/Paris" + assignees: + - "TheophileDiot" + reviewers: + - "TheophileDiot" + commit-message: + prefix: "deps/deps" + target-branch: "1.5" + - package-ecosystem: "pip" + directory: "/src/common/gen" + schedule: + interval: "daily" + time: "09:00" + timezone: "Europe/Paris" + assignees: + - "TheophileDiot" + reviewers: + - "TheophileDiot" + commit-message: + prefix: "deps/common/gen" + target-branch: "1.5" + - package-ecosystem: "pip" + directory: "/src/common/db" + schedule: + interval: "daily" + time: "09:00" + timezone: "Europe/Paris" + assignees: + - "TheophileDiot" + reviewers: + - "TheophileDiot" + commit-message: + prefix: "deps/common/db" + target-branch: "1.5" + + # Terraform + - package-ecosystem: "terraform" + directory: "/tests/terraform" + schedule: + interval: "daily" + time: "09:00" + timezone: "Europe/Paris" + assignees: + - "fl0ppy-d1sk" + reviewers: + - "fl0ppy-d1sk" + commit-message: + prefix: "deps/terraform" + target-branch: "1.5" diff --git a/.github/workflows/container-build.yml b/.github/workflows/container-build.yml index 1ea6416fa..28fa3c043 100644 --- a/.github/workflows/container-build.yml +++ b/.github/workflows/container-build.yml @@ -48,7 +48,10 @@ jobs: uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Replace VERSION if: inputs.RELEASE == 'testing' || inputs.RELEASE == 'dev' - run: ./misc/update-version.sh ${{ inputs.RELEASE }} + run: chmod +x ./misc/update-version.sh && ./misc/update-version.sh ${{ inputs.RELEASE }} + - name: Replace VERSION 1.5 + if: inputs.RELEASE == '1.5' + run: chmod +x ./misc/update-version.sh && ./misc/update-version.sh dev - name: Setup SSH for ARM node if: inputs.CACHE_SUFFIX == 'arm' run: | diff --git a/.github/workflows/create-arm.yml b/.github/workflows/create-arm.yml index 68505fbf3..8b7291dd4 100644 --- a/.github/workflows/create-arm.yml +++ b/.github/workflows/create-arm.yml @@ -81,6 +81,6 @@ jobs: SSH_IP: ${{ fromJson(steps.scw.outputs.json).public_ip.address }} SSH_CONFIG: ${{ secrets.ARM_SSH_CONFIG }} - name: Install Docker - run: ssh root@$SSH_IP "curl -fsSL https://test.docker.com -o test-docker.sh ; sh test-docker.sh ; echo 'ClientAliveInterval 60' >> /etc/ssh/sshd_config ; echo 'ClientAliveCountMax 0' >> /etc/ssh/sshd_config ; systemctl restart ssh" + run: ssh root@$SSH_IP "curl -fsSL https://test.docker.com -o test-docker.sh ; chmod +x test-docker.sh ; sh test-docker.sh ; echo 'ClientAliveInterval 60' >> /etc/ssh/sshd_config ; echo 'ClientAliveCountMax 0' >> /etc/ssh/sshd_config ; systemctl restart ssh" env: SSH_IP: ${{ fromJson(steps.scw.outputs.json).public_ip.address }} diff --git a/.github/workflows/linux-build.yml b/.github/workflows/linux-build.yml index d855ea98e..f6fd10701 100644 --- a/.github/workflows/linux-build.yml +++ b/.github/workflows/linux-build.yml @@ -40,7 +40,10 @@ jobs: uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Replace VERSION if: inputs.RELEASE == 'testing' || inputs.RELEASE == 'dev' || inputs.RELEASE == 'ui' - run: ./misc/update-version.sh ${{ inputs.RELEASE }} + run: chmod +x ./misc/update-version.sh && ./misc/update-version.sh ${{ inputs.RELEASE }} + - name: Replace VERSION 1.5 + if: inputs.RELEASE == '1.5' + run: chmod +x ./misc/update-version.sh && ./misc/update-version.sh dev - name: Extract arch run: | echo "ARCH=${{ env.PLATFORMS }}" | sed 's/linux//g' | sed 's@/@@g' >> "$GITHUB_ENV" @@ -93,7 +96,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} # Build testing package image - name: Build package image - if: inputs.RELEASE == 'testing' || inputs.RELEASE == 'dev' || inputs.RELEASE == 'ui' + if: inputs.RELEASE == 'testing' || inputs.RELEASE == 'dev' || inputs.RELEASE == 'ui' || inputs.RELEASE == '1.5' uses: docker/build-push-action@5176d81f87c23d6fc96624dfdbcd9f3830bbe445 # v6.5.0 with: context: . @@ -105,7 +108,7 @@ jobs: cache-to: type=gha,scope=${{ inputs.LINUX }}-${{ inputs.RELEASE }},mode=min # Build non-testing package image - name: Build package image - if: inputs.RELEASE != 'testing' && inputs.RELEASE != 'dev' + if: inputs.RELEASE != 'testing' && inputs.RELEASE != 'dev' && inputs.RELEASE != 'ui' && inputs.RELEASE != '1.5' uses: docker/build-push-action@5176d81f87c23d6fc96624dfdbcd9f3830bbe445 # v6.5.0 with: context: . @@ -116,7 +119,7 @@ jobs: # Generate package - name: Generate package if: startsWith(env.ARCH, 'arm') == false - run: ./src/linux/package.sh ${{ inputs.LINUX }} ${{ env.LARCH }} + run: chmod +x ./src/linux/package.sh && ./src/linux/package.sh ${{ inputs.LINUX }} ${{ env.LARCH }} env: LARCH: ${{ env.LARCH }} - name: Generate package (ARM) diff --git a/.github/workflows/push-doc.yml b/.github/workflows/push-doc.yml index 4a28e0106..325f75cf0 100644 --- a/.github/workflows/push-doc.yml +++ b/.github/workflows/push-doc.yml @@ -24,7 +24,7 @@ jobs: token: ${{ secrets.BUNKERBOT_TOKEN }} - name: Replace VERSION if: inputs.VERSION == 'testing' - run: ./misc/update-version.sh testing + run: chmod +x ./misc/update-version.sh && ./misc/update-version.sh testing - name: Setup git user run: | git config --global user.name "BunkerBot" diff --git a/.github/workflows/staging-create-infra.yml b/.github/workflows/staging-create-infra.yml index 5a386e2c1..875f390d7 100644 --- a/.github/workflows/staging-create-infra.yml +++ b/.github/workflows/staging-create-infra.yml @@ -41,7 +41,7 @@ jobs: run: ansible-galaxy install --timeout 120 monolithprojects.github_actions_runner,1.18.7 && ansible-galaxy collection install --timeout 120 community.general && ansible-galaxy collection install --timeout 120 community.docker if: inputs.TYPE != 'k8s' # Create infra - - run: ./tests/create.sh ${{ inputs.TYPE }} + - run: chmod +x ./tests/create.sh && ./tests/create.sh ${{ inputs.TYPE }} env: CICD_SECRETS: ${{ secrets.CICD_SECRETS }} - run: | diff --git a/.github/workflows/staging-delete-infra.yml b/.github/workflows/staging-delete-infra.yml index 9834a570f..aa69d586d 100644 --- a/.github/workflows/staging-delete-infra.yml +++ b/.github/workflows/staging-delete-infra.yml @@ -44,6 +44,6 @@ jobs: continue-on-error: true env: KUBECONFIG: /tmp/k8s/kubeconfig - - run: ./tests/rm.sh ${{ inputs.TYPE }} + - run: chmod +x ./tests/rm.sh && ./tests/rm.sh ${{ inputs.TYPE }} env: CICD_SECRETS: ${{ secrets.CICD_SECRETS }} diff --git a/.github/workflows/test-core-linux.yml b/.github/workflows/test-core-linux.yml index 9d72c3b6a..a8f062962 100644 --- a/.github/workflows/test-core-linux.yml +++ b/.github/workflows/test-core-linux.yml @@ -57,10 +57,17 @@ jobs: - name: Pull BW linux ubuntu test image run: docker pull ghcr.io/bunkerity/ubuntu-tests:${{ inputs.RELEASE }} - name: Copy deb file to host + if: inputs.RELEASE != '1.5' run: | container_id=$(docker create "ghcr.io/bunkerity/ubuntu-tests:${{ inputs.RELEASE }}") docker cp "$container_id:/opt/bunkerweb_${{ inputs.RELEASE }}-1_amd64.deb" "/tmp/bunkerweb.deb" docker rm "$container_id" + - name: Copy deb file to host 1.5 + if: inputs.RELEASE == '1.5' + run: | + container_id=$(docker create "ghcr.io/bunkerity/ubuntu-tests:${{ inputs.RELEASE }}") + docker cp "$container_id:/opt/bunkerweb_dev-1_amd64.deb" "/tmp/bunkerweb.deb" + docker rm "$container_id" - name: Install NGINX run: | export NEEDRESTART_SUSPEND=1 @@ -71,7 +78,7 @@ jobs: sudo apt update sudo -E apt install -y nginx=1.26.1-2~noble - name: Fix version without a starting number - if: inputs.RELEASE == 'testing' || inputs.RELEASE == 'dev' + if: inputs.RELEASE == 'testing' || inputs.RELEASE == 'dev' || inputs.RELEASE == '1.5' run: echo "force-bad-version" | sudo tee -a /etc/dpkg/dpkg.cfg - name: Edit configuration files run: | @@ -107,4 +114,5 @@ jobs: cd tests/core/${{ inputs.TEST }} find . -name "requirements.txt" -exec pip install --break-system-packages --no-cache-dir --require-hashes --no-deps -r {} \; sudo truncate -s 0 /var/log/bunkerweb/error.log + chmod +x ./test.sh ./test.sh "linux" diff --git a/.github/workflows/test-core.yml b/.github/workflows/test-core.yml index 9955e32a5..7efed25ae 100644 --- a/.github/workflows/test-core.yml +++ b/.github/workflows/test-core.yml @@ -33,4 +33,5 @@ jobs: cd ./tests/core/${{ inputs.TEST }} find . -type f -name 'docker-compose.*' -exec sed -i "s@bunkerity/bunkerweb:.*@bunkerweb-tests@" {} \; find . -type f -name 'docker-compose.*' -exec sed -i "s@bunkerity/bunkerweb-scheduler:.*@scheduler-tests@" {} \; + chmod +x ./test.sh ./test.sh "docker" "${{ inputs.TEST }}" diff --git a/.github/workflows/tests-ui-linux.yml b/.github/workflows/tests-ui-linux.yml index 2e0c8cd16..5abbd4e8a 100644 --- a/.github/workflows/tests-ui-linux.yml +++ b/.github/workflows/tests-ui-linux.yml @@ -57,10 +57,17 @@ jobs: - name: Pull BW linux ubuntu test image run: docker pull ghcr.io/bunkerity/ubuntu-tests:${{ inputs.RELEASE }} - name: Copy deb file to host + if: inputs.RELEASE != '1.5' run: | container_id=$(docker create "ghcr.io/bunkerity/ubuntu-tests:${{ inputs.RELEASE }}") docker cp "$container_id:/opt/bunkerweb_${{ inputs.RELEASE }}-1_amd64.deb" "/tmp/bunkerweb.deb" docker rm "$container_id" + - name: Copy deb file to host 1.5 + if: inputs.RELEASE == '1.5' + run: | + container_id=$(docker create "ghcr.io/bunkerity/ubuntu-tests:${{ inputs.RELEASE }}") + docker cp "$container_id:/opt/bunkerweb_dev-1_amd64.deb" "/tmp/bunkerweb.deb" + docker rm "$container_id" - name: Install NGINX run: | export NEEDRESTART_SUSPEND=1 @@ -71,7 +78,7 @@ jobs: sudo apt update sudo -E apt install -y nginx=1.26.1-2~noble - name: Fix version without a starting number - if: inputs.RELEASE == 'testing' || inputs.RELEASE == 'dev' || inputs.RELEASE == 'ui' + if: inputs.RELEASE == 'testing' || inputs.RELEASE == 'dev' || inputs.RELEASE == 'ui' || inputs.RELEASE == '1.5' run: echo "force-bad-version" | sudo tee -a /etc/dpkg/dpkg.cfg - name: Edit configuration files run: | @@ -126,6 +133,7 @@ jobs: zip discord.zip plugin.json rm plugin.json sudo truncate -s 0 /var/log/bunkerweb/error.log + chmod +x ./tests.sh ./tests.sh "linux" ${{ inputs.TEST }} env: MODE: ${{ inputs.RELEASE }} diff --git a/.github/workflows/tests-ui.yml b/.github/workflows/tests-ui.yml index 57bb8e9ac..c01c11850 100644 --- a/.github/workflows/tests-ui.yml +++ b/.github/workflows/tests-ui.yml @@ -32,6 +32,7 @@ jobs: - name: Run tests run: | cd ./tests/ui + chmod +x ./tests.sh ./tests.sh "docker" ${{ inputs.TEST }} env: MODE: ${{ inputs.RELEASE }}