tccelf.c: write section headers before sections
[tinycc.git] / .github / workflows / build.yml
blob6624d606efb7ac841a8024a485725bc2e3dfc04a
1 name: build and test
3 on:
4   push:
5     branches: [ mob ]
7 jobs:
8   test-x86_64-linux:
9     runs-on: ubuntu-20.04
10     timeout-minutes: 2
11     steps:
12     - uses: actions/checkout@v4
13     - name: make & test tcc (x86_64-linux)
14       run: ./configure && make && make test -k
16   test-x86_64-osx:
17     runs-on: macos-12
18     timeout-minutes: 2
19     steps:
20     - uses: actions/checkout@v4
21     - name: make & test tcc (x86_64-osx)
22       run: ./configure && make && make test -k
24   test-aarch64-osx:
25     runs-on: macos-14
26     timeout-minutes: 2
27     steps:
28     - uses: actions/checkout@v4
29     - name: make & test tcc (aarch64-osx)
30       run: ./configure && make && make test -k
32   test-x86-win32:
33     runs-on: windows-2019
34     timeout-minutes: 6
35     steps:
36     - uses: actions/checkout@v4
37     - name: make & test tcc (x86_64-win32)
38       shell: cmd
39       run: |
40         set MSYS2_PATH_TYPE=inherit
41         set MSYSTEM=MINGW64
42         set CHERE_INVOKING=yes
43         C:\msys64\usr\bin\bash -l -c "./configure && make && make test -k"
44     - name: make & test tcc (i386-win32)
45       shell: cmd
46       run: |
47         set MSYS2_PATH_TYPE=inherit
48         set MSYSTEM=MINGW32
49         set CHERE_INVOKING=yes
50         C:\msys64\usr\bin\bash -l -c "./configure && make clean all && make test -k"
52   test-armv7-linux:
53     runs-on: ubuntu-20.04
54     timeout-minutes: 6
55     steps:
56     - uses: actions/checkout@v4
57     - uses: uraimo/run-on-arch-action@v2
58       name: make & test tcc (armv7-linux)
59       with:
60         arch: armv7
61         distro: ubuntu20.04
62         githubToken: ${{ github.token }}
63         install: |
64           apt-get update -q -y
65           apt-get install -q -y gcc make
66         run: |
67             echo "::endgroup::" && echo "::endgroup::" # missing in 'run-on-arch-action'
68             ./configure && make && make test -k
70   test-aarch64-linux:
71     runs-on: ubuntu-20.04
72     timeout-minutes: 6
73     steps:
74     - uses: actions/checkout@v4
75     - uses: uraimo/run-on-arch-action@v2
76       name: make & test tcc (aarch64-linux)
77       with:
78         arch: aarch64
79         distro: ubuntu20.04
80         githubToken: ${{ github.token }}
81         install: |
82           apt-get update -q -y
83           apt-get install -q -y gcc make
84         run: |
85             echo "::endgroup::" && echo "::endgroup::" # missing in 'run-on-arch-action'
86             ./configure && make && make test -k
88   test-riscv64-linux:
89     runs-on: ubuntu-20.04
90     timeout-minutes: 6
91     steps:
92     - uses: actions/checkout@v4
93     - uses: uraimo/run-on-arch-action@v2
94       name: make & test tcc (riscv64-linux)
95       with:
96         arch: riscv64
97         distro: ubuntu20.04
98         githubToken: ${{ github.token }}
99         install: |
100           apt-get update -q -y
101           apt-get install -q -y gcc make
102         run: |
103             echo "::endgroup::" && echo "::endgroup::" # missing in 'run-on-arch-action'
104             ./configure && make && make test -k