Skip to content
Open
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
4420011
feat(ci): add integration tests for AutoTLS in Beekeeper workflow
akrem-chabchoub Feb 5, 2026
00c4ec7
feat(ci): enable P2P WebSocket support in Beekeeper workflow
akrem-chabchoub Feb 5, 2026
23279ad
fix(ci): update dependencies for ArgoCD trigger in Beekeeper workflow
akrem-chabchoub Feb 5, 2026
2b2b653
refactor(ci): add setup action for Beekeeper cluster deployment
akrem-chabchoub Feb 5, 2026
9ccf744
chore(ci): add checkout step to Beekeeper workflow for improved ref h…
akrem-chabchoub Feb 5, 2026
8ca3b1e
refactor(ci): remove setup action for Beekeeper cluster and inline st…
akrem-chabchoub Feb 5, 2026
282665c
refactor(ci): merge beekeeper and beekeeper-autotls
akrem-chabchoub Feb 9, 2026
31a1d0d
chore(ci): update Beekeeper workflow to use new branch and image tags
akrem-chabchoub Feb 16, 2026
a81b30f
chore(ci): update Beekeeper workflow to reference new autotls-check b…
akrem-chabchoub Feb 16, 2026
b25030a
chore(ci): update PEBBLE_IMAGE_TAG in Beekeeper workflow to v2.9.0 (t…
akrem-chabchoub Feb 16, 2026
3f59296
chore: update beekeeper branch
akrem-chabchoub Feb 17, 2026
1102828
chore: update beelocal and beekeeper branch
akrem-chabchoub Feb 17, 2026
00c7a11
chore: update beekeeper branch to fix/pebble-timout
akrem-chabchoub Feb 17, 2026
13c104e
fix: update pebble img tag to v2.9.0
akrem-chabchoub Feb 17, 2026
32c3a15
chore: update pebble and p2p-forge img tags
akrem-chabchoub Feb 17, 2026
19df6a0
chore: update beekeeper branch
akrem-chabchoub Feb 17, 2026
7fdabb3
Merge branch 'master' of https://github.com/ethersphere/bee into feat…
akrem-chabchoub Feb 20, 2026
d09d15c
chore: add pebble cert validity period
akrem-chabchoub Feb 20, 2026
a8da204
fix: simplify failure conditions in beekeeper workflow for artifact c…
akrem-chabchoub Feb 20, 2026
1323006
chore: update beelocal and beekeeper branch
akrem-chabchoub Mar 2, 2026
7249ec7
chore: increase pebble cert period to 300
akrem-chabchoub Mar 5, 2026
daa489e
chore: temp remove redundant test steps from beekeeper
akrem-chabchoub Mar 5, 2026
e31b93b
chore: update pebble cert validity period
akrem-chabchoub Mar 9, 2026
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
123 changes: 46 additions & 77 deletions .github/workflows/beekeeper.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
RUN_TYPE: "PR RUN"
SETUP_CONTRACT_IMAGE: "ethersphere/bee-localchain"
SETUP_CONTRACT_IMAGE_TAG: "0.9.4"
BEELOCAL_BRANCH: "main"
BEEKEEPER_BRANCH: "master"
BEELOCAL_BRANCH: "feat/forge-peeble-dns" # TODO: change to main (temporary testing branch)

Check warning on line 16 in .github/workflows/beekeeper.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Complete the task associated to this "TODO" comment.

See more on https://sonarcloud.io/project/issues?id=ethersphere_bee&issues=AZwuHgoz64Yesb650ltI&open=AZwuHgoz64Yesb650ltI&pullRequest=5350
BEEKEEPER_BRANCH: "dns-resolver" # TODO: change to master (temporary testing branch)

Check warning on line 17 in .github/workflows/beekeeper.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Complete the task associated to this "TODO" comment.

See more on https://sonarcloud.io/project/issues?id=ethersphere_bee&issues=AZwuHgoz64Yesb650ltJ&open=AZwuHgoz64Yesb650ltJ&pullRequest=5350
BEEKEEPER_METRICS_ENABLED: false
REACHABILITY_OVERRIDE_PUBLIC: true
BATCHFACTOR_OVERRIDE_PUBLIC: 2
Expand All @@ -25,6 +25,10 @@
AWS_EC2_METADATA_DISABLED: true
AWS_ENDPOINT: fra1.digitaloceanspaces.com
VERTAG: ${GITHUB_RUN_ID}
P2P_WSS_ENABLE: true
PEBBLE_IMAGE_TAG: "2.9.0"
P2P_FORGE_IMAGE_TAG: "v0.7.0"
PEBBLE_CERTIFICATE_VALIDITY_PERIOD: "600"
jobs:
init:
name: Init
Expand All @@ -34,15 +38,9 @@
steps:
- name: Checkout
uses: actions/checkout@v5
if: github.event.action != 'beekeeper'
with:
fetch-depth: 0
- name: Checkout
uses: actions/checkout@v5
if: github.event.action == 'beekeeper'
with:
fetch-depth: 0
ref: ${{ github.event.client_payload.ref }}
ref: ${{ github.event.action == 'beekeeper' && github.event.client_payload.ref || github.sha }}
- name: Setup Go
uses: actions/setup-go@v6
with:
Expand Down Expand Up @@ -99,6 +97,11 @@
runs-on: ubuntu-latest
needs: [init]
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
ref: ${{ github.event.action == 'beekeeper' && github.event.client_payload.ref || github.sha }}
- name: Cache
uses: actions/cache@v4
with:
Expand All @@ -113,98 +116,34 @@
run: |
chmod +x bee-1 beekeeper .github/bin/beekeeper_artifacts.sh
mv .beekeeper.yaml ~/.beekeeper.yaml
mkdir ~/.beekeeper && mv local.yaml ~/.beekeeper/local.yaml
mkdir -p ~/.beekeeper && mv local.yaml ~/.beekeeper/local.yaml
mv bee-1 bee
sudo mv beekeeper /usr/local/bin/beekeeper
- name: Prepare local cluster
run: |
timeout ${TIMEOUT} make beelocal OPTS='ci skip-vet' ACTION=prepare
run: timeout ${TIMEOUT} make beelocal OPTS='ci skip-vet' ACTION=prepare
- name: Set kube config
run: |
mkdir -p ~/.kube
cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
- name: Set local cluster
run: |
timeout ${TIMEOUT} make deploylocal BEEKEEPER_CLUSTER=local-dns
run: timeout ${TIMEOUT} make deploylocal BEEKEEPER_CLUSTER=local-dns
- name: Test pingpong
id: pingpong
run: timeout ${TIMEOUT} bash -c 'until beekeeper check --cluster-name local-dns --checks ci-pingpong; do echo "waiting for pingpong..."; sleep .3; done'
- name: Test fullconnectivity
id: fullconnectivity
run: timeout ${TIMEOUT} bash -c 'until beekeeper check --cluster-name local-dns --checks=ci-full-connectivity; do echo "waiting for full connectivity..."; sleep .3; done'
- name: Test settlements
id: settlements
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks=ci-settlements
- name: Sleep for time allowance to replenish
run: sleep 2
- name: Test pss
id: pss
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks=ci-pss
- name: Test soc
id: soc
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks=ci-soc
- name: Test gsoc
id: gsoc
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks=ci-gsoc
- name: Test pushsync (chunks)
id: pushsync-chunks-1
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks=ci-pushsync-chunks
- name: Test pushsync (light mode chunks)
id: pushsync-chunks-2
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks=ci-pushsync-light-chunks
- name: Test retrieval
id: retrieval
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks=ci-retrieval
- name: Test manifest
id: manifest
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks=ci-manifest
- name: Test manifest v1
id: manifest-v1
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks=ci-manifest-v1
- name: Test postage stamps
id: postage-stamps
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks ci-postage
- name: Test staking
id: stake
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks ci-stake
- name: Test withdraw
id: withdraw
run: timeout ${TIMEOUT} bash -c 'until beekeeper check --cluster-name local-dns --checks ci-withdraw; do echo "waiting for withdraw..."; sleep .3; done'
- name: Test redundancy
id: redundancy
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks ci-redundancy
- name: Test act
id: act
run: timeout ${TIMEOUT} bash -c 'until beekeeper check --cluster-name local-dns --checks ci-act; do echo "waiting for act..."; sleep .3; done'
- name: Test feeds v1
id: feeds-v1
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks=ci-feed-v1
- name: Test feeds
id: feeds
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns --checks=ci-feed
- name: Collect debug artifacts
- name: Collect debug artifacts (local-dns)
if: failure()
run: |
bash .github/bin/beekeeper_artifacts.sh local-dns
export FAILED='no-test'
if ${{ steps.pingpong.outcome=='failure' }}; then FAILED=pingpong; fi
if ${{ steps.fullconnectivity.outcome=='failure' }}; then FAILED=fullconnectivity; fi
if ${{ steps.settlements.outcome=='failure' }}; then FAILED=settlements; fi
if ${{ steps.pss.outcome=='failure' }}; then FAILED=pss; fi
if ${{ steps.soc.outcome=='failure' }}; then FAILED=soc; fi
if ${{ steps.gsoc.outcome=='failure' }}; then FAILED=gsoc; fi
if ${{ steps.pushsync-chunks-1.outcome=='failure' }}; then FAILED=pushsync-chunks-1; fi
if ${{ steps.pushsync-chunks-2.outcome=='failure' }}; then FAILED=pushsync-chunks-2; fi
if ${{ steps.retrieval.outcome=='failure' }}; then FAILED=retrieval; fi
if ${{ steps.manifest.outcome=='failure' }}; then FAILED=manifest; fi
if ${{ steps.manifest-v1.outcome=='failure' }}; then FAILED=manifest-v1; fi
if ${{ steps.postage-stamps.outcome=='failure' }}; then FAILED=postage-stamps; fi
if ${{ steps.stake.outcome=='failure' }}; then FAILED=stake; fi
if ${{ steps.withdraw.outcome=='failure' }}; then FAILED=withdraw; fi
if ${{ steps.redundancy.outcome=='failure' }}; then FAILED=redundancy; fi
if ${{ steps.feeds.outcome=='failure' }}; then FAILED=feeds; fi
if ${{ steps.feeds-v1.outcome=='failure' }}; then FAILED=feeds-v1; fi
if ${{ steps.act.outcome=='failure' }}; then FAILED=act; fi
curl -sSf -X POST -H "Content-Type: application/json" -d "{\"text\": \"**${RUN_TYPE}** Beekeeper Error\nBranch: \`${{ github.head_ref }}\`\nUser: @${{ github.event.pull_request.user.login }}\nDebugging artifacts: [click](https://$BUCKET_NAME.$AWS_ENDPOINT/artifacts_$VERTAG.tar.gz)\nStep failed: \`${FAILED}\`\"}" https://beehive.ethswarm.org/hooks/${{ secrets.TUNSHELL_KEY }}
echo "Failed test: ${FAILED}"
- name: Create tunshell session for debug
Expand All @@ -220,6 +159,36 @@
with:
name: debug-dump
path: dump/
- name: Set local cluster (local-dns-autotls)
run: timeout ${TIMEOUT} make deploylocal BEEKEEPER_CLUSTER=local-dns-autotls
- name: Test pingpong (autotls)
id: pingpong-autotls
run: timeout ${TIMEOUT} bash -c 'until beekeeper check --cluster-name local-dns-autotls --checks ci-pingpong; do echo "waiting for pingpong..."; sleep .3; done'
- name: Test fullconnectivity (autotls)
id: fullconnectivity-autotls
run: timeout ${TIMEOUT} bash -c 'until beekeeper check --cluster-name local-dns-autotls --checks=ci-full-connectivity; do echo "waiting for full connectivity..."; sleep .3; done'
- name: Test retrieval (autotls)
id: retrieval-autotls
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns-autotls --checks=ci-retrieval
- name: Test autotls
id: autotls
run: timeout ${TIMEOUT} beekeeper check --cluster-name local-dns-autotls --checks=ci-autotls
- name: Collect debug artifacts (autotls)
if: failure()
run: |
bash .github/bin/beekeeper_artifacts.sh local-dns-autotls
export FAILED='no-test'
if ${{ steps.pingpong-autotls.outcome=='failure' }}; then FAILED=pingpong; fi
if ${{ steps.fullconnectivity-autotls.outcome=='failure' }}; then FAILED=fullconnectivity; fi
if ${{ steps.retrieval-autotls.outcome=='failure' }}; then FAILED=retrieval; fi
if ${{ steps.autotls.outcome=='failure' }}; then FAILED=autotls; fi
curl -sSf -X POST -H "Content-Type: application/json" -d "{\"text\": \"**${RUN_TYPE}** Beekeeper Autotls Error\nBranch: \`${{ github.head_ref }}\`\nUser: @${{ github.event.pull_request.user.login }}\nDebugging artifacts: [click](https://$BUCKET_NAME.$AWS_ENDPOINT/artifacts_$VERTAG.tar.gz)\nStep failed: \`${FAILED}\`\"}" https://beehive.ethswarm.org/hooks/${{ secrets.TUNSHELL_KEY }}
echo "Failed test: ${FAILED}"
- uses: actions/upload-artifact@v4
if: failure()
with:
name: debug-dump-autotls
path: dump/
retag:
name: Retag and Trigger ArgoCD
env:
Expand Down
Loading