check for new releases iperf3 #26855
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: check for new releases iperf3 | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: "*/30 */1 * * *" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
permissions: write-all | |
jobs: | |
skip_duplicate_job: | |
runs-on: ubuntu-latest | |
outputs: | |
should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
steps: | |
- id: skip_check | |
uses: fkirc/skip-duplicate-actions@v5 | |
with: | |
concurrent_skipping: "always" | |
cancel_others: "false" | |
skip_after_successful_duplicate: false | |
do_not_skip: "" | |
check_release: | |
if: ${{ needs.skip_duplicate_job.outputs.should_skip != 'true' }} | |
needs: skip_duplicate_job | |
outputs: | |
continue_build: ${{ steps.continue_build.outputs.continue_build }} | |
runs-on: ubuntu-latest | |
name: "Check for latest iperf3 tags" | |
env: | |
continue_build: "no" | |
GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
steps: | |
- name: Get latest esnet/iperf tag | |
run: echo "upstream_iperf3_tag=$(git ls-remote -q -t --refs "https://github.com/esnet/iperf.git" | awk '{sub("refs/tags/", "");sub("(.*)(-|rc|iperf|trunk|3.1b1|3.1b2|3.1b3)(.*)", ""); print $2 }' | awk '!/^$/' | sort -rV | head -n1)" >> $GITHUB_ENV | |
- name: Get latest userdocs/iperf3-static tag | |
run: echo "local_iperf3_tag=$(git ls-remote -q -t --refs "https://github.com/userdocs/iperf3-static.git" | awk '{sub("refs/tags/", "");sub("(.*)(-|rc|iperf|trunk|3.1b1|3.1b2|3.1b3)(.*)", ""); print $2 }' | awk '!/^$/' | sort -rV | head -n1)" >> $GITHUB_ENV | |
- name: Test values - latest upstream vs local tags | |
id: continue_build | |
run: | | |
ver() { | |
local test_array | |
read -ra test_array < <(printf "%s" "${@//./ }") | |
printf "%d%03d%03d%03d" "${test_array[@]}" | |
} | |
if [[ "$(ver "${{ env.upstream_iperf3_tag }}")" -gt "$(ver "${{ env.local_iperf3_tag }}")" ]]; then | |
printf "%-14s latest:%-10s iperf3-static:%-10s %s\n" "$iray" "${{ env.upstream_iperf3_tag }}" "${{ env.local_iperf3_tag }}" "< New version available - workflow will be triggered" | |
echo "continue_build=yes" >> $GITHUB_ENV | |
else | |
printf "%-14s latest:%-10s iperf3-static:%-10s\n" "$iray" "${{ env.upstream_iperf3_tag }}" "${{ env.local_iperf3_tag }}" | |
fi | |
echo "continue_build=${{ env.continue_build }}" >> $GITHUB_OUTPUT | |
- name: trigger workflow - iperf3 alpine multi | |
if: env.continue_build == 'yes' | |
uses: benc-uk/workflow-dispatch@v1 | |
with: | |
workflow: "alpine_multi.yml" | |
repo: "userdocs/iperf3-static" | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: trigger workflow - iperf3 cygwin cmd | |
if: env.continue_build == 'yes' | |
uses: benc-uk/workflow-dispatch@v1 | |
with: | |
workflow: "cygwin_cmd.yml" | |
repo: "userdocs/iperf3-static" | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Await local workflow - alpine multi | |
if: env.continue_build == 'yes' | |
uses: codex-/await-local-workflow-run@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
workflow: "alpine_multi.yml" | |
timeout_mins: 20 | |
poll_interval_ms: 10000 | |
- name: Await local workflow - cygwin cmd | |
if: env.continue_build == 'yes' | |
uses: codex-/await-local-workflow-run@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
workflow: "cygwin_cmd.yml" | |
timeout_mins: 20 | |
poll_interval_ms: 10000 |