parent
85d4c70171
commit
9b20dbe6dc
@ -1,304 +0,0 @@ |
||||
name: Release artifacts |
||||
|
||||
on: |
||||
release: |
||||
types: [ published ] |
||||
|
||||
jobs: |
||||
push_server_to_docker_registry: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
with: |
||||
submodules: true |
||||
- uses: docker/setup-buildx-action@v2 |
||||
- uses: docker/metadata-action@v4 |
||||
id: docker_meta |
||||
with: |
||||
images: | |
||||
${{ github.repository }} |
||||
ghcr.io/${{ github.repository }} |
||||
- uses: docker/login-action@v2 |
||||
with: |
||||
username: ${{ secrets.DOCKER_USERNAME }} |
||||
password: ${{ secrets.DOCKER_PASSWORD }} |
||||
- uses: docker/login-action@v2 |
||||
with: |
||||
registry: ghcr.io |
||||
username: ${{github.actor}} |
||||
password: ${{secrets.GITHUB_TOKEN}} |
||||
- uses: docker/build-push-action@v4 |
||||
with: |
||||
context: . |
||||
file: server/Dockerfile |
||||
pull: true |
||||
push: true |
||||
tags: ${{ steps.docker_meta.outputs.tags }} |
||||
labels: ${{ steps.docker_meta.outputs.labels }} |
||||
cache-from: type=gha |
||||
cache-to: type=gha,mode=max |
||||
|
||||
publish_crates: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
with: |
||||
submodules: true |
||||
- run: rustup update |
||||
- run: cargo login $CRATES_IO_TOKEN |
||||
env: |
||||
CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }} |
||||
- run: cargo publish |
||||
working-directory: ./oxrocksdb-sys |
||||
continue-on-error: true |
||||
- run: cargo publish |
||||
working-directory: ./lib/oxsdatatypes |
||||
continue-on-error: true |
||||
- run: cargo publish |
||||
working-directory: ./lib/oxrdf |
||||
continue-on-error: true |
||||
- run: cargo publish |
||||
working-directory: ./lib/sparesults |
||||
continue-on-error: true |
||||
- run: cargo publish |
||||
working-directory: ./lib/spargebra |
||||
continue-on-error: true |
||||
- run: cargo publish |
||||
working-directory: ./lib/sparql-smith |
||||
continue-on-error: true |
||||
- run: cargo publish |
||||
working-directory: ./lib |
||||
continue-on-error: true |
||||
- run: cargo publish |
||||
working-directory: ./server |
||||
|
||||
publish_pypi_linux: |
||||
runs-on: ubuntu-latest |
||||
strategy: |
||||
matrix: |
||||
architecture: [ "x86_64", "aarch64" ] |
||||
continue-on-error: true |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
with: |
||||
submodules: true |
||||
- uses: docker/setup-qemu-action@v2 |
||||
with: |
||||
platforms: linux/${{ matrix.architecture }} |
||||
if: matrix.architecture != 'x86_64' |
||||
- run: sed 's/%arch%/${{ matrix.architecture }}/g' .github/workflows/manylinux_build.sh | sed 's/%for_each_version%/true/g' > .github/workflows/manylinux_build_script.sh |
||||
- run: docker run -v "$(pwd)":/workdir --platform linux/${{ matrix.architecture }} quay.io/pypa/manylinux2014_${{ matrix.architecture }} /bin/bash /workdir/.github/workflows/manylinux_build_script.sh |
||||
- uses: pypa/gh-action-pypi-publish@release/v1 |
||||
with: |
||||
user: __token__ |
||||
password: ${{ secrets.PYPI_PASSWORD }} |
||||
packages_dir: target/wheels |
||||
|
||||
publish_pypi_linux_musl: |
||||
runs-on: ubuntu-latest |
||||
strategy: |
||||
matrix: |
||||
architecture: [ "x86_64", "aarch64" ] |
||||
continue-on-error: true |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
with: |
||||
submodules: true |
||||
- uses: docker/setup-qemu-action@v2 |
||||
with: |
||||
platforms: linux/${{ matrix.architecture }} |
||||
if: matrix.architecture != 'x86_64' |
||||
- run: sed 's/%arch%/${{ matrix.architecture }}/g' .github/workflows/musllinux_build.sh | sed 's/%for_each_version%/true/g' > .github/workflows/musllinux_build_script.sh |
||||
- run: docker run -v "$(pwd)":/workdir --platform linux/${{ matrix.architecture }} quay.io/pypa/musllinux_1_1_${{ matrix.architecture }} /bin/bash /workdir/.github/workflows/musllinux_build_script.sh |
||||
- uses: pypa/gh-action-pypi-publish@release/v1 |
||||
with: |
||||
user: __token__ |
||||
password: ${{ secrets.PYPI_PASSWORD }} |
||||
packages_dir: target/wheels |
||||
|
||||
publish_pypi_mac: |
||||
runs-on: macos-latest |
||||
env: |
||||
DEVELOPER_DIR: '/Applications/Xcode.app/Contents/Developer' |
||||
SDKROOT: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk' |
||||
MACOSX_DEPLOYMENT_TARGET: '10.14' |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
with: |
||||
submodules: true |
||||
- uses: actions/setup-python@v4 |
||||
with: |
||||
python-version: "3.10" |
||||
- run: rustup update && rustup target add aarch64-apple-darwin |
||||
- run: pip install -r python/requirements.dev.txt |
||||
- run: maturin build --release -m python/Cargo.toml |
||||
- run: pip install --no-index --find-links=target/wheels/ pyoxigraph |
||||
- run: rm -r target/wheels |
||||
- run: python generate_stubs.py pyoxigraph pyoxigraph.pyi --black |
||||
working-directory: ./python |
||||
- run: maturin publish --no-sdist -m python/Cargo.toml --features abi3 -u __token__ -p ${{ secrets.PYPI_PASSWORD }} |
||||
- run: maturin publish --no-sdist --target aarch64-apple-darwin -m python/Cargo.toml --features abi3 -u __token__ -p ${{ secrets.PYPI_PASSWORD }} |
||||
|
||||
publish_pypi_windows: |
||||
runs-on: windows-latest |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
with: |
||||
submodules: true |
||||
- uses: actions/setup-python@v4 |
||||
with: |
||||
python-version: "3.10" |
||||
- run: rustup update |
||||
- run: Remove-Item -LiteralPath "C:\msys64\" -Force -Recurse |
||||
- run: pip install -r python/requirements.dev.txt |
||||
- run: maturin build --release -m python/Cargo.toml |
||||
- run: pip install --no-index --find-links=target/wheels/ pyoxigraph |
||||
- run: rm -r target/wheels |
||||
- run: python generate_stubs.py pyoxigraph pyoxigraph.pyi --black |
||||
working-directory: ./python |
||||
- run: maturin publish --no-sdist -m python/Cargo.toml --features abi3 -u __token__ -p ${{ secrets.PYPI_PASSWORD }} |
||||
|
||||
publish_pypi_stdist: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
with: |
||||
submodules: true |
||||
- uses: actions/setup-python@v4 |
||||
with: |
||||
python-version: "3.10" |
||||
- run: rustup update |
||||
- run: pip install -r python/requirements.dev.txt |
||||
- run: maturin build -m python/Cargo.toml |
||||
- run: pip install --no-index --find-links=target/wheels/ pyoxigraph |
||||
- run: rm -r target/wheels |
||||
- run: python generate_stubs.py pyoxigraph pyoxigraph.pyi --black |
||||
working-directory: ./python |
||||
- run: maturin sdist -m python/Cargo.toml |
||||
- uses: pypa/gh-action-pypi-publish@release/v1 |
||||
with: |
||||
user: __token__ |
||||
password: ${{ secrets.PYPI_PASSWORD }} |
||||
packages_dir: target/wheels |
||||
|
||||
publish_npm: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
with: |
||||
submodules: true |
||||
- uses: actions/setup-node@v3 |
||||
with: |
||||
node-version: 16 |
||||
registry-url: https://registry.npmjs.org |
||||
- run: rustup update |
||||
- run: cargo install wasm-pack |
||||
- run: npm install |
||||
working-directory: ./js |
||||
- run: npm run release |
||||
working-directory: ./js |
||||
env: |
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |
||||
- run: npm run pack |
||||
working-directory: ./js |
||||
|
||||
publish_full_archive: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
with: |
||||
submodules: true |
||||
- run: | |
||||
rm -rf .git |
||||
zip -r oxigraph_${{ github.event.release.tag_name }}.zip . |
||||
tar -czf /tmp/oxigraph_${{ github.event.release.tag_name }}.tar.gz . |
||||
mv /tmp/oxigraph_${{ github.event.release.tag_name }}.tar.gz . |
||||
- uses: softprops/action-gh-release@v1 |
||||
with: |
||||
files: | |
||||
oxigraph_${{ github.event.release.tag_name }}.zip |
||||
oxigraph_${{ github.event.release.tag_name }}.tar.gz |
||||
|
||||
publish_homebrew: |
||||
if: "!contains('-', github.event.release.tag_name)" |
||||
runs-on: ubuntu-latest |
||||
needs: publish_full_archive |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
with: |
||||
repository: oxigraph/homebrew-oxigraph |
||||
token: ${{ secrets.FULL_ACCESS_TOKEN }} |
||||
- run: | |
||||
wget "https://github.com/oxigraph/oxigraph/releases/download/${{ github.event.release.tag_name }}/oxigraph_${{ github.event.release.tag_name }}.tar.gz" |
||||
SHA=`shasum -a 256 "oxigraph_${{ github.event.release.tag_name }}.tar.gz" | awk '{ print $1 }'` |
||||
rm "oxigraph_${{ github.event.release.tag_name }}.tar.gz" |
||||
sed -i "s/download\/.*\.tar/download\/${{ github.event.release.tag_name }}\/oxigraph_${{ github.event.release.tag_name }}.tar/g" Formula/oxigraph.rb |
||||
sed -i "s/sha256 \".*\"/sha256 \"$SHA\"/g" Formula/oxigraph.rb |
||||
git config user.name github-actions |
||||
git config user.email github-actions@github.com |
||||
git add . |
||||
git diff-index --quiet HEAD || git commit -m "Upgrades to ${{ github.event.release.tag_name }}" |
||||
git push |
||||
|
||||
publish_binary_linux: |
||||
runs-on: ubuntu-20.04 |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
with: |
||||
submodules: true |
||||
- run: rustup update && rustup target add aarch64-unknown-linux-gnu |
||||
- run: | |
||||
sudo apt install -y g++-aarch64-linux-gnu |
||||
mkdir .cargo |
||||
echo -e "[target.aarch64-unknown-linux-gnu]\nlinker = \"aarch64-linux-gnu-gcc\"" >> .cargo/config.toml |
||||
- run: cargo build --release |
||||
working-directory: ./server |
||||
- run: cargo build --release --target aarch64-unknown-linux-gnu |
||||
working-directory: ./server |
||||
env: |
||||
BINDGEN_EXTRA_CLANG_ARGS: --sysroot /usr/aarch64-linux-gnu |
||||
- run: mv target/release/oxigraph_server oxigraph_server_${{ github.event.release.tag_name }}_x86_64_linux_gnu |
||||
- run: mv target/aarch64-unknown-linux-gnu/release/oxigraph_server oxigraph_server_${{ github.event.release.tag_name }}_aarch64_linux_gnu |
||||
- uses: softprops/action-gh-release@v1 |
||||
with: |
||||
files: | |
||||
oxigraph_server_${{ github.event.release.tag_name }}_x86_64_linux_gnu |
||||
oxigraph_server_${{ github.event.release.tag_name }}_aarch64_linux_gnu |
||||
|
||||
publish_binary_mac: |
||||
runs-on: macos-latest |
||||
env: |
||||
DEVELOPER_DIR: '/Applications/Xcode.app/Contents/Developer' |
||||
SDKROOT: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk' |
||||
MACOSX_DEPLOYMENT_TARGET: '10.14' |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
with: |
||||
submodules: true |
||||
- run: rustup update && rustup target add aarch64-apple-darwin |
||||
- run: cargo build --release |
||||
working-directory: ./server |
||||
- run: cargo build --release --target aarch64-apple-darwin |
||||
working-directory: ./server |
||||
- run: mv target/release/oxigraph_server oxigraph_server_${{ github.event.release.tag_name }}_x86_64_apple |
||||
- run: mv target/aarch64-apple-darwin/release/oxigraph_server oxigraph_server_${{ github.event.release.tag_name }}_aarch64_apple |
||||
- uses: softprops/action-gh-release@v1 |
||||
with: |
||||
files: | |
||||
oxigraph_server_${{ github.event.release.tag_name }}_x86_64_apple |
||||
oxigraph_server_${{ github.event.release.tag_name }}_aarch64_apple |
||||
|
||||
publish_binary_windows: |
||||
runs-on: windows-latest |
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
with: |
||||
submodules: true |
||||
- run: rustup update |
||||
- run: Remove-Item -LiteralPath "C:\msys64\" -Force -Recurse |
||||
- run: cargo build --release |
||||
working-directory: ./server |
||||
- run: mv target/release/oxigraph_server.exe oxigraph_server_${{ github.event.release.tag_name }}_x86_64_windows_msvc.exe |
||||
- uses: softprops/action-gh-release@v1 |
||||
with: |
||||
files: oxigraph_server_${{ github.event.release.tag_name }}_x86_64_windows_msvc.exe |
Loading…
Reference in new issue