Create dist and upload on release also disable docs on build (#2648)

This commit is contained in:
itchyny authored and GitHub committed 2023-07-03 21:05:21 +09:00
1 parent 3c76a5b3f3
commit 3847ebb699
4 files changed
+54 -31

No files matched your search

+50 -29
View File
@@ -39,28 +39,23 @@ jobs:
- name: Install packages - name: Install packages
run: | run: |
sudo apt-get update -qq sudo apt-get update -qq
sudo apt-get install -y \ sudo apt-get install -y automake autoconf
automake \
autoconf \
bison \
flex \
gdb \
python3
- name: Build - name: Build
run: | run: |
autoreconf -fi autoreconf -i
./configure --disable-dependency-tracking \ ./configure --disable-dependency-tracking \
--disable-silent-rules \ --disable-silent-rules \
--disable-docs \
--disable-maintainer-mode \ --disable-maintainer-mode \
--disable-valgrind \ --disable-valgrind \
--with-oniguruma=builtin \ --with-oniguruma=builtin \
${{ matrix.configure_flag }} \ ${{ matrix.configure_flag }}
YACC="$(which bison) -y"
make make
strip jq strip jq
- name: Test - name: Test
run: | run: |
make check make check
git diff --exit-code
- name: Upload Test Logs - name: Upload Test Logs
if: ${{ failure() }} if: ${{ failure() }}
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
@@ -97,28 +92,24 @@ jobs:
run: | run: |
# brew update sometimes fails with "Fetching /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask failed!" # brew update sometimes fails with "Fetching /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask failed!"
brew update || brew update-reset brew update || brew update-reset
brew install \ brew install autoconf automake libtool
autoconf \
automake \
libtool \
flex \
bison
- name: Build - name: Build
run: | run: |
autoreconf -fi autoreconf -i
./configure --disable-dependency-tracking \ ./configure --disable-dependency-tracking \
--disable-silent-rules \ --disable-silent-rules \
--disable-docs \
--disable-maintainer-mode \ --disable-maintainer-mode \
--disable-valgrind \ --disable-valgrind \
--with-oniguruma=builtin \ --with-oniguruma=builtin \
--enable-static \ --enable-static \
--enable-all-static \ --enable-all-static
YACC="$(brew --prefix)/opt/bison/bin/bison -y"
make make
strip jq strip jq
- name: Test - name: Test
run: | run: |
make check make check
git diff --exit-code
- name: Upload Test Logs - name: Upload Test Logs
if: ${{ failure() }} if: ${{ failure() }}
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
@@ -161,27 +152,26 @@ jobs:
autoconf autoconf
automake automake
libtool libtool
bison
flex
- name: Build - name: Build
shell: msys2 {0} shell: msys2 {0}
run: | run: |
autoreconf -fi autoreconf -i
./configure --disable-dependency-tracking \ ./configure --disable-dependency-tracking \
--disable-silent-rules \ --disable-silent-rules \
--disable-docs \
--disable-maintainer-mode \ --disable-maintainer-mode \
--disable-valgrind \ --disable-valgrind \
--with-oniguruma=builtin \ --with-oniguruma=builtin \
--disable-shared \ --disable-shared \
--enable-static \ --enable-static \
--enable-all-static \ --enable-all-static
YACC="$(which bison) -y"
make make
strip jq.exe strip jq.exe
- name: Test - name: Test
shell: msys2 {0} shell: msys2 {0}
run: | run: |
make check make check
git diff --exit-code --ignore-submodules
- name: Upload Test Logs - name: Upload Test Logs
if: ${{ failure() }} if: ${{ failure() }}
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
@@ -199,17 +189,47 @@ jobs:
retention-days: 7 retention-days: 7
path: jq.exe path: jq.exe
release: dist:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
contents: write
needs: [linux, macos, windows]
if: startsWith(github.event.ref, 'refs/tags/v')
steps: steps:
- name: Clone repository - name: Clone repository
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
submodules: true submodules: true
- name: Install packages
run: |
sudo apt-get update -qq
sudo apt-get install -y automake autoconf
- name: Create dist
run: |
autoreconf -i
./configure --disable-dependency-tracking \
--disable-silent-rules \
--disable-docs \
--disable-maintainer-mode \
--disable-valgrind \
--with-oniguruma=builtin
make dist dist-zip
git diff --exit-code
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: jq-dist
if-no-files-found: error
retention-days: 7
path: |
jq-*.tar.gz
jq-*.zip
release:
runs-on: ubuntu-latest
permissions:
contents: write
needs: [linux, macos, windows, dist]
if: startsWith(github.event.ref, 'refs/tags/v')
steps:
- name: Clone repository
uses: actions/checkout@v3
- name: Merge built artifacts - name: Merge built artifacts
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
@@ -223,6 +243,7 @@ jobs:
cp artifacts/jq-linux-ubuntu-22.04-gcc/jq release/jq-linux-amd64 cp artifacts/jq-linux-ubuntu-22.04-gcc/jq release/jq-linux-amd64
cp artifacts/jq-macos-macos-13-gcc/jq release/jq-macos-amd64 cp artifacts/jq-macos-macos-13-gcc/jq release/jq-macos-amd64
cp artifacts/jq-windows-windows-2022-gcc/jq.exe release/jq-windows-amd64.exe cp artifacts/jq-windows-windows-2022-gcc/jq.exe release/jq-windows-amd64.exe
cp artifacts/jq-dist/jq-* release/
gh release create $TAG_NAME --draft --title "jq ${TAG_NAME#v}" --generate-notes gh release create $TAG_NAME --draft --title "jq ${TAG_NAME#v}" --generate-notes
gh release upload $TAG_NAME --clobber release/jq-* gh release upload $TAG_NAME --clobber release/jq-*
+1 -1
View File
@@ -48,7 +48,7 @@ jobs:
CC: ${{ matrix.compiler }} CC: ${{ matrix.compiler }}
MAKEVARS: ${{ matrix.makevars }} MAKEVARS: ${{ matrix.makevars }}
run: | run: |
autoreconf -fi autoreconf -i
rm src/lexer.c src/lexer.h rm src/lexer.c src/lexer.h
rm src/parser.c src/parser.h rm src/parser.c src/parser.h
./configure --with-oniguruma=builtin YACC="$(which bison) -y" $COVERAGE ./configure --with-oniguruma=builtin YACC="$(which bison) -y" $COVERAGE
+2
View File
@@ -15,6 +15,8 @@ tags
jq jq
!tests/modules/lib/jq/ !tests/modules/lib/jq/
jq.1 jq.1
jq-*.tar.gz
jq-*.zip
# Generated source # Generated source
src/builtin.inc src/builtin.inc
+1 -1
View File
@@ -28,7 +28,7 @@ git submodule as per the instructions below.
(note that jq's tests require regexp support to pass). To build, run: (note that jq's tests require regexp support to pass). To build, run:
git submodule update --init # if building from git to get oniguruma git submodule update --init # if building from git to get oniguruma
autoreconf -fi # if building from git autoreconf -i # if building from git
./configure --with-oniguruma=builtin ./configure --with-oniguruma=builtin
make -j8 make -j8
make check make check