Create test github actions release #1
This file contains hidden or 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: GitHub Actions Release | ||
| permissions: | ||
| contents: read | ||
| on: | ||
| push: | ||
| branches: | ||
| - master | ||
| tags: | ||
| - '*.*' | ||
| pull_request: | ||
| branches: | ||
| - master | ||
| jobs: | ||
| cppcheck-test: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - run: echo "This job was triggered by a ${{ github.event_name }} event." | ||
| - name: Checkout Repo | ||
| uses: actions/checkout@v5 | ||
| - name: install dependencies | ||
| run: | | ||
| sudo apt-get -y update && sudo apt-get install -y cppcheck && \ | ||
| cppcheck . --force --inline-suppr | ||
| build-test-ubuntu-ish: | ||
| strategy: | ||
| matrix: | ||
| os: [ubuntu-latest, ubuntu-22.04, ubuntu-22.04-arm] | ||
| runs-on: ${{ matrix.os }} | ||
| steps: | ||
| - uses: actions/checkout@v5 | ||
| - name: install dependencies | ||
| run: | | ||
| sudo apt-get -y update && sudo apt-get install -y build-essential | ||
| - name: build | ||
| run: | | ||
| ./configure && make && make check | ||
| timeout 300 src/iperf3 -s & | ||
| ./test_commands.sh localhost | ||
| build-test-macos-ish: | ||
| strategy: | ||
| matrix: | ||
| os: [macos-15, macos-14] | ||
| runs-on: ${{ matrix.os }} | ||
| steps: | ||
| - uses: actions/checkout@v5 | ||
| - name: install dependencies | ||
| run: | | ||
| brew install coreutils | ||
| - name: build | ||
| run: | | ||
| ./configure && make && make check | ||
| timeout 300 src/iperf3 -s & | ||
| ./test_commands.sh localhost | ||
| build-test-sanitizer-address: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - run: echo "Running address sanitzer" | ||
| - name: Checkout Repo | ||
| uses: actions/checkout@v5 | ||
| - name: install dependencies | ||
| run: | | ||
| sudo apt-get -y update && sudo apt-get install -y build-essential | ||
| - name: build | ||
| run: | | ||
| ./configure CFLAGS="-g -O0 -fsanitize=address" LDFLAGS="-fsanitize=address" && make && make check | ||
| timeout 300 src/iperf3 -s & | ||
| ./test_commands.sh localhost | ||
| release-draft: | ||
| name: Create Draft Release | ||
| runs-on: ubuntu-latest | ||
| needs: | ||
| - build-test-ubuntu-ish | ||
| - build-test-macos-ish | ||
| - build-test-sanitizer-address | ||
| steps: | ||
| - run: echo "Running release test " ${{ github.ref }} | ||
| - name: Checkout Repo | ||
| uses: actions/checkout@v5 | ||
| - name: install dependencies | ||
| run: | | ||
| sudo apt-get -y update && sudo apt-get install -y build-essential | ||
| - name: build | ||
| run: | | ||
| ./configure && make && make check | ||
| timeout 300 src/iperf3 -s & | ||
| ./test_commands.sh localhost | ||
| - name: create release tar | ||
| run: | | ||
| ./make_release tar ${{ github.ref}} | ||
| - name: Test Release Version | ||
| run: | | ||
| ls | ||
| tar -vxf iperf-${{github.ref}}.tar | ||
| ./src/iperf3 --version | ||
| - name: Create draft release | ||
| uses: actions/create-release@v1 | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| with: | ||
| draft: True | ||
| prerelease: True | ||
| tag_name: ${{ github.ref }} | ||
| release_name: iperf-${{ github.ref }} | ||