WIP FreeBSD build #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: Build Docker image with multi-arch | ||
| on: | ||
| # schedule: | ||
| # - cron: '15 */8 * * *' | ||
| repository_dispatch: | ||
| types: | ||
| - build | ||
| workflow_dispatch: | ||
| inputs: | ||
| ruby_version: | ||
| required: true | ||
| default: master | ||
| description: '"master" or version number ("3.1.2")' | ||
| env: | ||
| ruby_version: ${{ github.event.inputs.ruby_version || github.event.client_payload.ruby_version || 'master' }} | ||
| jobs: | ||
| build: | ||
| runs-on: ubuntu-latest | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| freebsd_version: | ||
| - "15.0" | ||
| - "14.3" | ||
| steps: | ||
| - uses: actions/checkout@v5 | ||
| - name: Store parameters to environmental variables | ||
| run: | | ||
| echo "RUBY_VERSION=${{ github.event.inputs.RUBY_VERSION || github.event.client_payload.ruby_version }}" >> $GITHUB_ENV | ||
| echo "ARCH=${{ github.event.inputs.ARCH || github.event.client_payload.arch }}" >> $GITHUB_ENV | ||
| echo "LATEST=${{ github.event.inputs.LATEST || github.event.client_payload.latest }}" >> $GITHUB_ENV | ||
| - name: Show parameters | ||
| run: | | ||
| echo $RUBY_VERSION | ||
| echo $ARCH | ||
| echo $LATEST | ||
| - name: Build image | ||
| uses: cross-platform-actions/action@master | ||
| with: | ||
| operating_system: freebsd | ||
| version: ${{ matrix.freebsd_version }} | ||
| run: | | ||
| sudo pkg install -y podman ruby | ||
| alias docker=podman | ||
| sudo cp /usr/local/etc/containers/pf.conf.sample /etc/pf.conf | ||
| sudo sed -i "" "s/ix0/vtnet0/g" | ||
| sudo service pf enable | ||
| sudo service pf start | ||
| sudo service podman enable | ||
| sudo service podman start | ||
| sudo mount -t fdescfs fdesc /dev/fd | ||
| rake docker:build arch=${{ env.ARCH }} ruby_version=${{ env.RUBY_VERSION }} freebsd_version=${{ matrix.freebsd_version }} latest_tag=${{ env.LATEST }} | ||
| # - name: Check image | ||
| # run: | | ||
| # docker images | ||
| # | ||
| # if [[ "${{ env.ARCH }}" != "amd64" ]]; then | ||
| # ARCH_SUFFIX=-${{ env.ARCH }} | ||
| # fi | ||
| # docker run ghcr.io/labtec/ruby:${{ env.RUBY_VERSION }}-${{ matrix.freebsd_version }}${ARCH_SUFFIX} ruby -v | ||
| # | ||
| # - name: Login to DockerHub | ||
| # uses: docker/login-action@v3 | ||
| # with: | ||
| # username: ${{ secrets.DOCKER_USER }} | ||
| # password: ${{ secrets.DOCKER_PASS }} | ||
| # | ||
| # - name: Push images to DockerHub | ||
| # run: docker push ghcr.io/labtec/ruby --all-tags | ||
| # | ||
| # - name: Renaming images | ||
| # run: | | ||
| # docker images ghcr.io/labtec/ruby --format='docker tag {{.Repository}}:{{.Tag}} ghcr.io/ruby/ruby:{{.Tag}}' | sh -ex | ||
| # | ||
| # - name: Login GitHub Container Registry | ||
| # uses: docker/login-action@v3 | ||
| # with: | ||
| # registry: ghcr.io | ||
| # username: ${{ secrets.GHCR_USER }} | ||
| # password: ${{ secrets.GHCR_ACCESS_TOKEN }} | ||
| # | ||
| # - name: Push image to GitHub Container Registry | ||
| # run: docker push ghcr.io/${{ github.repository_owner }}/ruby --all-tags | ||