Skip to content

Commit

Permalink
changing cicd
Browse files Browse the repository at this point in the history
  • Loading branch information
spa5k committed Jun 9, 2024
1 parent 9ade9da commit 089a14b
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 38 deletions.
14 changes: 7 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: CI
on:
pull_request:
branches: [main, rewrite]
branches: [master]
types: [opened, reopened, synchronize]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand All @@ -21,12 +21,12 @@ jobs:
matrix:
postgres: [14, 15, 16]
runner:
- ubuntu-24.04
- ubuntu-22.04
- buildjet-8vcpu-ubuntu-2204-arm
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v3
- name: Build
run: docker buildx build --build-arg PG_MAJOR=${{ matrix.postgres }} -t test .
- name: Test
Expand All @@ -36,11 +36,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Install rust
uses: dtolnay/rust-toolchain@1.78.0
uses: dtolnay/rust-toolchain@1.74.0
with:
components: rustfmt, clippy
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v3
- name: Format check
uses: actions-rs/cargo@v1
with:
Expand All @@ -51,8 +51,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v3
- name: Install rust
uses: dtolnay/rust-toolchain@1.78.0
uses: dtolnay/rust-toolchain@1.74.0
- name: Lockfile check
run: cargo update -w --locked
64 changes: 33 additions & 31 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,13 @@
env:
NAME: pgrx-uids_postgres
NAME: uids
EXT_NAME: uids
PKG_NAME: pg-uids_postgres

PKG_NAME: uids
name: Release

on:
push:
tags: [v*]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}

jobs:
create-release:
name: Create release
Expand All @@ -23,23 +19,30 @@ jobs:
id: create-release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ github.token }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}

build-linux-gnu:
name: Build & Release for linux
needs: create-release
runs-on: ubuntu-24.04
needs:
- create-release
strategy:
fail-fast: false
matrix:
postgres: [14, 15, 16]
box:
- runner: ubuntu-22.04
arch: amd64
- runner: buildjet-8vcpu-ubuntu-2204-arm
arch: arm64
runs-on: ${{ matrix.box.runner }}
timeout-minutes: 45
steps:
- name: Checkout
uses: actions/checkout@v4

uses: actions/checkout@v3
- name: Install rust
uses: dtolnay/[email protected]

- name: Install dependencies
run: |
# Add postgres package repo
Expand All @@ -51,19 +54,19 @@ jobs:
sudo apt-get install -y --no-install-recommends libreadline-dev zlib1g-dev flex bison libxml2-dev libxslt-dev libssl-dev libxml2-utils xsltproc ccache
sudo apt-get install -y --no-install-recommends clang libclang-dev llvm-dev gcc tree
# Install PostgreSQL v16
sudo apt-get install -y postgresql-16 postgresql-server-dev-16 -y
# Install requested postgres version
sudo apt-get install -y postgresql-${{ matrix.postgres }} postgresql-server-dev-${{ matrix.postgres }} -y
# Ensure installed pg_config is first on path
export PATH=$PATH:/usr/lib/postgresql/16/bin
cargo install cargo-pgrx --version 0.11.4 --locked
cargo pgrx init --pg16=/usr/lib/postgresql/16/bin/pg_config
export PATH=$PATH:/usr/lib/postgresql/${{ matrix.postgres }}/bin
cargo install cargo-pgrx --version 0.11.2 --locked
cargo pgrx init --pg${{ matrix.postgres }}=/usr/lib/postgresql/${{ matrix.postgres }}/bin/pg_config
- name: Build artifacts
run: |
# selects the pgVer from pg_config on path
cargo pgrx package --no-default-features --features pg16
# https://github.com/tcdi/pgrx/issues/288
cargo pgrx package --no-default-features --features pg${{ matrix.postgres }}
# Create installable package
mkdir archive
Expand All @@ -77,13 +80,13 @@ jobs:
cp archive/*.sql package/var/lib/postgresql/extension
# symlinks to Copy files into directory structure
mkdir -p package/usr/lib/postgresql/16/lib
cd package/usr/lib/postgresql/16/lib
mkdir -p package/usr/lib/postgresql/${{ matrix.postgres }}/lib
cd package/usr/lib/postgresql/${{ matrix.postgres }}/lib
cp -s ../../lib/*.so .
cd ../../../../../..
mkdir -p package/usr/share/postgresql/16/extension
cd package/usr/share/postgresql/16/extension
mkdir -p package/usr/share/postgresql/${{ matrix.postgres }}/extension
cd package/usr/share/postgresql/${{ matrix.postgres }}/extension
cp -s ../../../../../var/lib/postgresql/extension/${{ env.EXT_NAME }}.control .
cp -s ../../../../../var/lib/postgresql/extension/${{ env.EXT_NAME }}*.sql .
Expand All @@ -98,21 +101,20 @@ jobs:
touch package/DEBIAN/control
echo 'Package: ${{ env.PKG_NAME }}' >> package/DEBIAN/control
echo 'Version:' ${deb_version} >> package/DEBIAN/control
echo 'Architecture: amd64' >> package/DEBIAN/control
echo 'Maintainer: Spark' >> package/DEBIAN/control
echo 'Description: A PostgreSQL extension for Various IDS' >> package/DEBIAN/control
echo 'Architecture: ${{ matrix.box.arch }}' >> package/DEBIAN/control
echo 'Maintainer: Pavan Sunkara' >> package/DEBIAN/control
echo 'Description: A PostgreSQL extension for ULID' >> package/DEBIAN/control
# Create deb package
sudo chown -R root:root package
sudo chmod -R 00755 package
sudo dpkg-deb -Zxz --build --root-owner-group package
- name: Upload artifacts
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: ./package.deb
asset_name: ${{ env.NAME }}-${{ github.ref_name }}-pg16-amd64-linux-gnu.deb
asset_content_type: application/vnd.debian.binary-package
asset_name: ${{ env.NAME }}-${{ github.ref_name }}-pg${{ matrix.postgres }}-${{ matrix.box.arch }}-linux-gnu.deb
asset_content_type: application/vnd.debian.binary-package

0 comments on commit 089a14b

Please sign in to comment.