fix: add iptables dependency check for Arch Linux installation #41
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: Release Wiredoor CLI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - "v*.*.*" | |
| jobs: | |
| build-and-package: | |
| runs-on: ubuntu-latest | |
| if: startsWith(github.ref, 'refs/tags/') | |
| permissions: | |
| contents: write | |
| packages: write | |
| env: | |
| CLI_NAME: wiredoor | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v3 | |
| - name: Set up Go | |
| uses: actions/setup-go@v4 | |
| with: | |
| go-version: 1.23 | |
| - name: Get version from tag | |
| id: version | |
| run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV | |
| - name: Install FPM dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y ruby ruby-dev build-essential rpm make libarchive-tools zstd | |
| sudo gem install --no-document fpm | |
| - name: Package .deb and .rpm | |
| run: | | |
| mkdir -p dist | |
| make build-pkgs VERSION=${VERSION} OUT_PATH=dist | |
| - name: Upload packages to GitHub Release | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| files: | | |
| dist/*.deb | |
| dist/*.rpm | |
| dist/*.apk | |
| dist/*.pkg.tar.zst | |
| build-image: | |
| name: Build Gateway Image | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| packages: write | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v3 | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v2 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v2 | |
| - name: Login to GHCR | |
| uses: docker/login-action@v2 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.WIREDOOR_GHCR_TOKEN }} | |
| - name: Login to Docker Hub | |
| uses: docker/login-action@v2 | |
| with: | |
| registry: docker.io | |
| username: ${{ secrets.WIREDOOR_DOCKER_HUB_USERNAME }} | |
| password: ${{ secrets.WIREDOOR_DOCKER_HUB_TOKEN }} | |
| - name: Build and push multi-arch image | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: . | |
| push: true | |
| sbom: true | |
| provenance: true | |
| target: production | |
| platforms: linux/amd64,linux/arm64 | |
| tags: ghcr.io/${{ github.repository_owner }}/wiredoor-cli:${{ github.ref_name }}, wiredoor/wiredoor-cli:${{ github.ref_name }}, ghcr.io/${{ github.repository_owner }}/wiredoor-cli:latest, wiredoor/wiredoor-cli:latest |