Update vmactions/freebsd-vm from base vm #507
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: Test | |
| on: | |
| workflow_dispatch: | |
| release: | |
| types: [ published ] | |
| push: | |
| branches: | |
| - '*' | |
| paths: | |
| - '**.sh' | |
| - '.github/workflows/test.yml' | |
| - 'index.js' | |
| - 'conf/*' | |
| - 'hooks/*' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| testsshfs: | |
| if: ${{ !contains(github.repository, 'solaris') && !contains(github.repository, 'omnios')}} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| release: [ "13.2", "13.3", "13.4", "13.5", "14.0", "14.1", "14.2", "14.3", "15.0", ""] | |
| arch: [ "aarch64", "", "riscv64"] | |
| runs: [ "ubuntu-24.04", "ubuntu-24.04-arm"] | |
| exclude: | |
| - runs: "ubuntu-24.04-arm" | |
| arch: "" | |
| - runs: "ubuntu-24.04-arm" | |
| arch: "riscv64" | |
| runs-on: ${{ matrix.runs }} | |
| name: sshfs FreeBSD | |
| env: | |
| MYTOKEN : ${{ secrets.MYTOKEN }} | |
| MYTOKEN2: "value2" | |
| SEC_VBOX : ${{ vars.SEC_VBOX }} | |
| DEBUG: 1 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Check arch | |
| id: check | |
| run: | | |
| _release="${{ matrix.release }}" | |
| if [ -z "$_release" ]; then | |
| . conf/default.release.conf | |
| _release="$DEFAULT_RELEASE" | |
| fi | |
| _arch="${{ matrix.arch }}" | |
| if [ "${_arch}" = "x86_64" ]; then | |
| _arch="" | |
| fi | |
| if [ -z "${_arch}" ]; then | |
| #ok, go ahead | |
| echo "arch is empty" | |
| echo "run=true" >> $GITHUB_OUTPUT | |
| elif [ -e "conf/${_release}-${_arch}.conf" ]; then | |
| echo "conf exists: conf/${_release}-${_arch}.conf" | |
| #ok, go ahead | |
| if [[ "$(echo "FreeBSD" | tr '[:upper:]' '[:lower:]')-${_arch}" == "freebsd-riscv64" ]]; then | |
| echo "The FreeBSD-${_arch} doesn't support sshfs, skip." | |
| echo "run=false" >> $GITHUB_OUTPUT | |
| else | |
| echo "run=true" >> $GITHUB_OUTPUT | |
| fi | |
| else | |
| echo "The release ${_release} doesn't support ${_arch}, skip." | |
| echo "run=false" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Creating Web console | |
| if: ${{ steps.check.outputs.run == 'true' }} | |
| uses: vmactions/cf-tunnel@v0 | |
| id: tunnel | |
| with: | |
| protocol: http | |
| port: 8000 | |
| - name: Test in FreeBSD | |
| if: ${{ steps.check.outputs.run == 'true' }} | |
| id: test | |
| uses: vmactions/freebsd-vm@328c2caf4a8cecd75fba828c92e1b9bcc3b02f1f | |
| with: | |
| envs: 'DEBUG MYTOKEN MYTOKEN2' | |
| prepare: | | |
| release: ${{ matrix.release }} | |
| arch: ${{ matrix.arch }} | |
| nat: | | |
| "10022": "22" | |
| "8080": "80" | |
| "8443": "443" | |
| udp:"8081": "80" | |
| usesh: true | |
| sync: sshfs | |
| run: | | |
| ls -lah /root/work | |
| tree $HOME/work/ | |
| if [ -z "$(ls -A $HOME/work)" ]; then | |
| echo "sshfs error." | |
| exit 1 | |
| fi | |
| env | |
| echo "TEST_ENV=abc" >>${GITHUB_ENV} | |
| #pkg install -y curl | |
| pwd | |
| ls -lah | |
| whoami | |
| env | |
| freebsd-version | |
| uname -a | |
| #sysctl hw.model | |
| sysctl hw.ncpu | |
| sysctl hw.physmem | |
| sysctl hw.usermem | |
| - name: Test NAT | |
| if: ${{ steps.check.outputs.run == 'true' }} | |
| run: | | |
| set -e | |
| echo "TEST_ENV=$TEST_ENV" | |
| [ "$TEST_ENV" = "abc" ] | |
| ssh -vvv -p 10022 -i $HOME/.ssh/host.id_rsa root@localhost "uname -a;whoami;pwd" | |
| - name: Test custom shell | |
| if: ${{ steps.check.outputs.run == 'true' }} | |
| shell: freebsd {0} | |
| run: | | |
| pwd | |
| cd $GITHUB_WORKSPACE; | |
| pwd | |
| #pkg install -y curl | |
| pwd | |
| ls -lah | |
| whoami | |
| env | |
| freebsd-version | |
| uname -a | |
| #sysctl hw.model | |
| sysctl hw.ncpu | |
| sysctl hw.physmem | |
| sysctl hw.usermem | |
| testnfs: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| release: [ "13.2", "13.3", "13.4", "13.5", "14.0", "14.1", "14.2", "14.3", "15.0", ""] | |
| arch: [ "aarch64", "", "riscv64"] | |
| runs: [ "ubuntu-24.04", "ubuntu-24.04-arm"] | |
| exclude: | |
| - runs: "ubuntu-24.04-arm" | |
| arch: "" | |
| - runs: "ubuntu-24.04-arm" | |
| arch: "riscv64" | |
| runs-on: ${{ matrix.runs }} | |
| name: nfs FreeBSD | |
| env: | |
| MYTOKEN : ${{ secrets.MYTOKEN }} | |
| MYTOKEN2: "value2" | |
| SEC_VBOX : ${{ vars.SEC_VBOX }} | |
| DEBUG: 1 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Check arch | |
| id: check | |
| run: | | |
| _release="${{ matrix.release }}" | |
| if [ -z "$_release" ]; then | |
| . conf/default.release.conf | |
| _release="$DEFAULT_RELEASE" | |
| fi | |
| _arch="${{ matrix.arch }}" | |
| if [ "${_arch}" = "x86_64" ]; then | |
| _arch="" | |
| fi | |
| if [ -z "${_arch}" ]; then | |
| #ok, go ahead | |
| echo "arch is empty" | |
| echo "run=true" >> $GITHUB_OUTPUT | |
| elif [ -e "conf/${_release}-${_arch}.conf" ]; then | |
| #ok, go ahead | |
| echo "conf exists: conf/${_release}-${_arch}.conf" | |
| if [[ "$(echo "FreeBSD" | tr '[:upper:]' '[:lower:]')-${_arch}" == "freebsd-riscv64" ]]; then | |
| echo "The FreeBSD-${_arch} doesn't support nfs, skip." | |
| echo "run=false" >> $GITHUB_OUTPUT | |
| else | |
| echo "run=true" >> $GITHUB_OUTPUT | |
| fi | |
| else | |
| echo "The release ${_release} doesn't support ${_arch}, skip." | |
| echo "run=false" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Creating Web console | |
| if: ${{ steps.check.outputs.run == 'true' }} | |
| uses: vmactions/cf-tunnel@v0 | |
| id: tunnel | |
| with: | |
| protocol: http | |
| port: 8000 | |
| - name: Test in FreeBSD | |
| if: ${{ steps.check.outputs.run == 'true' }} | |
| id: test | |
| uses: vmactions/freebsd-vm@328c2caf4a8cecd75fba828c92e1b9bcc3b02f1f | |
| with: | |
| envs: 'DEBUG MYTOKEN MYTOKEN2' | |
| prepare: | | |
| release: ${{ matrix.release }} | |
| arch: ${{ matrix.arch }} | |
| nat: | | |
| "10022": "22" | |
| "8080": "80" | |
| "8443": "443" | |
| udp:"8081": "80" | |
| usesh: true | |
| sync: nfs | |
| run: | | |
| ls -lah /root/work | |
| tree $HOME/work/ | |
| if [ -z "$(ls -A $HOME/work)" ]; then | |
| echo "nfs error." | |
| exit 1 | |
| fi | |
| env | |
| echo "TEST_ENV=abc" >>${GITHUB_ENV} | |
| #pkg install -y curl | |
| pwd | |
| ls -lah | |
| whoami | |
| env | |
| freebsd-version | |
| uname -a | |
| #sysctl hw.model | |
| sysctl hw.ncpu | |
| sysctl hw.physmem | |
| sysctl hw.usermem | |
| - name: Test NAT | |
| if: ${{ steps.check.outputs.run == 'true' }} | |
| run: | | |
| set -e | |
| echo "TEST_ENV=$TEST_ENV" | |
| [ "$TEST_ENV" = "abc" ] | |
| ssh -vvv -p 10022 -i $HOME/.ssh/host.id_rsa root@localhost "uname -a;whoami;pwd" | |
| - name: Test custom shell | |
| if: ${{ steps.check.outputs.run == 'true' }} | |
| shell: freebsd {0} | |
| run: | | |
| pwd | |
| cd $GITHUB_WORKSPACE; | |
| pwd | |
| #pkg install -y curl | |
| pwd | |
| ls -lah | |
| whoami | |
| env | |
| freebsd-version | |
| uname -a | |
| #sysctl hw.model | |
| sysctl hw.ncpu | |
| sysctl hw.physmem | |
| sysctl hw.usermem | |
| testscp: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| release: [ "13.2", "13.3", "13.4", "13.5", "14.0", "14.1", "14.2", "14.3", "15.0", ""] | |
| arch: [ "aarch64", "", "riscv64"] | |
| runs: [ "ubuntu-24.04", "ubuntu-24.04-arm"] | |
| exclude: | |
| - runs: "ubuntu-24.04-arm" | |
| arch: "" | |
| - runs: "ubuntu-24.04-arm" | |
| arch: "riscv64" | |
| runs-on: ${{ matrix.runs }} | |
| name: scp FreeBSD | |
| env: | |
| MYTOKEN : ${{ secrets.MYTOKEN }} | |
| MYTOKEN2: "value2" | |
| SEC_VBOX : ${{ vars.SEC_VBOX }} | |
| DEBUG: 1 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Check arch | |
| id: check | |
| run: | | |
| _release="${{ matrix.release }}" | |
| if [ -z "$_release" ]; then | |
| . conf/default.release.conf | |
| _release="$DEFAULT_RELEASE" | |
| fi | |
| _arch="${{ matrix.arch }}" | |
| if [ "${_arch}" = "x86_64" ]; then | |
| _arch="" | |
| fi | |
| if [ -z "${_arch}" ]; then | |
| #ok, go ahead | |
| echo "arch is empty" | |
| echo "run=true" >> $GITHUB_OUTPUT | |
| elif [ -e "conf/${_release}-${_arch}.conf" ]; then | |
| #ok, go ahead | |
| echo "conf exists: conf/${_release}-${_arch}.conf" | |
| echo "run=true" >> $GITHUB_OUTPUT | |
| else | |
| echo "The release ${_release} doesn't support ${_arch}, skip." | |
| echo "run=false" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Creating Web console | |
| if: ${{ steps.check.outputs.run == 'true' }} | |
| uses: vmactions/cf-tunnel@v0 | |
| id: tunnel | |
| with: | |
| protocol: http | |
| port: 8000 | |
| - name: Test in FreeBSD | |
| if: ${{ steps.check.outputs.run == 'true' }} | |
| id: test | |
| uses: vmactions/freebsd-vm@328c2caf4a8cecd75fba828c92e1b9bcc3b02f1f | |
| with: | |
| envs: 'DEBUG MYTOKEN MYTOKEN2' | |
| prepare: | | |
| release: ${{ matrix.release }} | |
| arch: ${{ matrix.arch }} | |
| nat: | | |
| "10022": "22" | |
| "8080": "80" | |
| "8443": "443" | |
| udp:"8081": "80" | |
| usesh: true | |
| sync: scp | |
| run: | | |
| ls -lah /root/work | |
| #don't use tree here, freebsd riscv64 doesn't have a tree | |
| #tree $HOME/work/ | |
| if [ -z "$(ls -A $HOME/work)" ]; then | |
| echo "nfs error." | |
| exit 1 | |
| fi | |
| env | |
| echo "TEST_ENV=abc" >>${GITHUB_ENV} | |
| echo "textfromvm" >$GITHUB_WORKSPACE/vm.txt | |
| #pkg install -y curl | |
| pwd | |
| ls -lah | |
| whoami | |
| env | |
| freebsd-version | |
| uname -a | |
| #sysctl hw.model | |
| sysctl hw.ncpu | |
| sysctl hw.physmem | |
| sysctl hw.usermem | |
| - name: Test files | |
| if: ${{ steps.check.outputs.run == 'true' }} | |
| run: | | |
| set -e | |
| [ -e "$GITHUB_WORKSPACE/vm.txt" ]; | |
| cat "$GITHUB_WORKSPACE/vm.txt"; | |
| grep "textfromvm" $GITHUB_WORKSPACE/vm.txt; | |
| cat ${GITHUB_ENV} | |
| echo "TEST_ENV=$TEST_ENV"; | |
| [ "$TEST_ENV" = "abc" ]; | |
| test: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| release: [ "13.2", "13.3", "13.4", "13.5", "14.0", "14.1", "14.2", "14.3", "15.0", ""] | |
| arch: [ "aarch64", "", "riscv64"] | |
| runs: [ "ubuntu-24.04", "ubuntu-24.04-arm"] | |
| exclude: | |
| - runs: "ubuntu-24.04-arm" | |
| arch: "" | |
| - runs: "ubuntu-24.04-arm" | |
| arch: "riscv64" | |
| runs-on: ${{ matrix.runs }} | |
| name: rsync default FreeBSD | |
| env: | |
| MYTOKEN : ${{ secrets.MYTOKEN }} | |
| MYTOKEN2: "value2" | |
| SEC_VBOX : ${{ vars.SEC_VBOX }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Check arch | |
| id: check | |
| run: | | |
| _release="${{ matrix.release }}" | |
| if [ -z "$_release" ]; then | |
| . conf/default.release.conf | |
| _release="$DEFAULT_RELEASE" | |
| fi | |
| _arch="${{ matrix.arch }}" | |
| if [ "${_arch}" = "x86_64" ]; then | |
| _arch="" | |
| fi | |
| if [ -z "${_arch}" ]; then | |
| #ok, go ahead | |
| echo "arch is empty" | |
| echo "run=true" >> $GITHUB_OUTPUT | |
| elif [ -e "conf/${_release}-${_arch}.conf" ]; then | |
| #ok, go ahead | |
| echo "conf exists: conf/${_release}-${_arch}.conf" | |
| if [[ "$(echo "FreeBSD" | tr '[:upper:]' '[:lower:]')-${_arch}" == "freebsd-riscv64" ]]; then | |
| echo "The FreeBSD-${_arch} doesn't support rsync, skip." | |
| echo "run=false" >> $GITHUB_OUTPUT | |
| else | |
| echo "run=true" >> $GITHUB_OUTPUT | |
| fi | |
| else | |
| echo "The release ${_release} doesn't support ${_arch}, skip." | |
| echo "run=false" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Test in FreeBSD | |
| if: ${{ steps.check.outputs.run == 'true' }} | |
| id: test | |
| uses: vmactions/freebsd-vm@328c2caf4a8cecd75fba828c92e1b9bcc3b02f1f | |
| with: | |
| envs: 'MYTOKEN MYTOKEN2' | |
| prepare: | | |
| mem: 4096 | |
| release: ${{ matrix.release }} | |
| arch: ${{ matrix.arch }} | |
| nat: | | |
| "10022": "22" | |
| "8080": "80" | |
| "8443": "443" | |
| udp:"8081": "80" | |
| usesh: true | |
| run: | | |
| env | |
| echo "TEST_ENV=abc" >>${GITHUB_ENV} | |
| #pkg install -y curl | |
| pwd | |
| ls -lah | |
| whoami | |
| env | |
| freebsd-version | |
| uname -a | |
| #sysctl hw.model | |
| sysctl hw.ncpu | |
| sysctl hw.physmem | |
| sysctl hw.usermem | |
| - name: Test NAT | |
| if: ${{ steps.check.outputs.run == 'true' }} | |
| run: | | |
| set -e | |
| echo "TEST_ENV=$TEST_ENV" | |
| [ "$TEST_ENV" = "abc" ] | |
| ssh -vvv -p 10022 -i $HOME/.ssh/host.id_rsa root@localhost "uname -a;whoami;pwd" | |
| - name: Test custom shell | |
| if: ${{ steps.check.outputs.run == 'true' }} | |
| shell: freebsd {0} | |
| run: | | |
| pwd | |
| cd $GITHUB_WORKSPACE; | |
| pwd | |
| #pkg install -y curl | |
| pwd | |
| ls -lah | |
| whoami | |
| env | |
| freebsd-version | |
| uname -a | |
| #sysctl hw.model | |
| sysctl hw.ncpu | |
| sysctl hw.physmem | |
| sysctl hw.usermem | |