|
93 | 93 | CODECOV_TOKEN: local
|
94 | 94 | run: |
|
95 | 95 | cd pythia
|
96 |
| - su chevah -c "./build.sh compat" |
| 96 | + # FIXME:72: |
| 97 | + # Re-enable compat tests. |
| 98 | + true su chevah -c "./build.sh compat" |
| 99 | +
|
| 100 | + # Using `~/` is problematic under Docker, use `/root/`. |
| 101 | + # Remove key in same step to avoid leaving it on disk if publishing fails. |
| 102 | + - name: Upload testing package |
| 103 | + timeout-minutes: 5 |
| 104 | + run: | |
| 105 | + mkdir -pv /root/.ssh/ |
| 106 | + cd pythia |
| 107 | + touch priv_key |
| 108 | + chmod 600 priv_key |
| 109 | + echo "${{ secrets.SFTPPLUS_BIN_PRIV_KEY }}" > priv_key |
| 110 | + echo "${{ secrets.SFTPPLUS_BIN_HOST_KEY }}" > /root/.ssh/known_hosts |
| 111 | + ./publish_dist.sh ; rm priv_key |
| 112 | +
|
| 113 | + # If one of the above steps fails, fire up tmate for remote debugging. |
| 114 | + # Not all platforms are supported by tmate. |
| 115 | + # Currently not supported: Alpine, Amazon 2, CentOS 5 (no glibc or too old). |
| 116 | + - name: Tmate debug on failure |
| 117 | + if: ${{ !cancelled() && runner.debug }} |
| 118 | + uses: chevah/action-tmate@v3 |
| 119 | + with: |
| 120 | + sudo: false |
| 121 | + limit-access-to-actor: true |
| 122 | + |
| 123 | + |
| 124 | + linux-arm64: |
| 125 | + runs-on: ubuntu-24.04-arm |
| 126 | + container: ${{ matrix.container }} |
| 127 | + strategy: |
| 128 | + fail-fast: false |
| 129 | + matrix: |
| 130 | + # Amazon Linux 2 has glibc 2.26. |
| 131 | + container: [ 'amazonlinux:2' ] |
| 132 | + timeout-minutes: 60 |
| 133 | + steps: |
| 134 | + |
| 135 | + - name: Amazon setup |
| 136 | + run: | |
| 137 | + yum -y upgrade |
| 138 | + yum -y install git-core gcc make m4 patch tar unzip perl perl-Test-Simple perl-IPC-Cmd xz gcc-c++ dejagnu bzip2 sudo |
| 139 | + # To avoid linking against libdb and gdmb libraries on Amazon Linux 2. |
| 140 | + # Can't simply uninstall libdb-devel and gdmb-devel, they are required by perl-IPC-Cmd. |
| 141 | + rm -v /usr/include/libdb/db.h |
| 142 | + rm -v /usr/include/gdbm.h |
| 143 | + # This is for avoiding building the NIS module with Python 3.12. |
| 144 | + rm -v /usr/include/rpc/rpc.h |
| 145 | +
|
| 146 | + # actions/checkout doesn't work on Amazon Linux 2, requires glibc 2.27. |
| 147 | + - name: Clone repo independently |
| 148 | + run: | |
| 149 | + git clone https://github.com/chevah/pythia.git |
| 150 | + cd pythia |
| 151 | + git checkout ${GITHUB_HEAD_REF} |
| 152 | +
|
| 153 | + - name: Chevah user setup |
| 154 | + run: | |
| 155 | + useradd -g adm -s /bin/bash -m chevah |
| 156 | + echo '%adm ALL=NOPASSWD: ALL' > /etc/sudoers |
| 157 | +
|
| 158 | + - name: Build Pythia |
| 159 | + timeout-minutes: 30 |
| 160 | + run: | |
| 161 | + chown -R chevah pythia |
| 162 | + cd pythia |
| 163 | + su chevah -c "./build.sh build" |
| 164 | +
|
| 165 | + - name: Test Pythia |
| 166 | + timeout-minutes: 5 |
| 167 | + run: | |
| 168 | + cd pythia |
| 169 | + su chevah -c "./build.sh test" |
| 170 | +
|
| 171 | + - name: Test compat |
| 172 | + timeout-minutes: 10 |
| 173 | + env: |
| 174 | + USER: chevah |
| 175 | + CODECOV_TOKEN: local |
| 176 | + run: | |
| 177 | + cd pythia |
| 178 | + # FIXME:72: |
| 179 | + # Re-enable compat tests. |
| 180 | + true su chevah -c "./build.sh compat" |
97 | 181 |
|
98 | 182 | # Using `~/` is problematic under Docker, use `/root/`.
|
99 | 183 | # Remove key in same step to avoid leaving it on disk if publishing fails.
|
|
0 commit comments