Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
felixguendling committed Dec 28, 2023
1 parent 86918d8 commit 104d160
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 23 deletions.
16 changes: 6 additions & 10 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,21 +48,17 @@ jobs:
cmake --build build --target adr-extract adr-server
ccache -s
- name: Upload adr-extract
run: |
aws s3api put-object \
--bucket release \
--endpoint-url ${{ secrets.S3_ENDPOINT }} \
--key release/adr-extract-`git rev-parse --short $GITHUB_SHA` \
--body build/adr-extract
- name: Package
run: ./package.sh

- name: Upload adr-server
- name: Upload Package
run: |
PACKAGE=`./package.sh name`
aws s3api put-object \
--bucket release \
--endpoint-url ${{ secrets.S3_ENDPOINT }} \
--key release/adr-server-`git rev-parse --short $GITHUB_SHA` \
--body build/adr-server
--key release/${PACKAGE} \
--body ${PACKAGE}
- name: Save deps
if: always()
Expand Down
19 changes: 6 additions & 13 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,26 +17,19 @@ jobs:
runs-on: [ self-hosted, linux, ARM64 ]
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: Download adr-extract
run: |
aws s3api get-object \
--bucket release \
--endpoint-url ${{ secrets.S3_ENDPOINT }} \
--key release/adr-extract-`git rev-parse --short $GITHUB_SHA` \
/opt/adr/adr-extract
chmod +x /opt/adr/adr-extract
- uses: actions/checkout@v3

- name: Download adr-server
- name: Download Package
run: |
PACKAGE=`./package.sh name`
aws s3api get-object \
--bucket release \
--endpoint-url ${{ secrets.S3_ENDPOINT }} \
--key release/adr-server-`git rev-parse --short $GITHUB_SHA` \
/opt/adr/adr-server
chmod +x /opt/adr/adr-server
--key release/${PACKAGE} \
/opt/${PACKAGE}
- name: Extract
run: /opt/adr/adr-extract /opt/germany-latest.osm.pbf /opt/adr/germany.adr
run: adr-extract /opt/germany-latest.osm.pbf /opt/adr/germany.adr

- name: Restart Server
run: sudo /bin/systemctl restart adr
84 changes: 84 additions & 0 deletions package.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
#!/bin/bash

APP=adr
GIT_SHA=`git --no-pager log -1 --format=%h`
VERSION=`git describe --always --tags --dirty=-${GIT_SHA}`
ARCH=`uname -m`

if [[ $ARCH == aarch64 ]]
then
#echo -- rewrite arch from ${ARCH} to arm64
ARCH=arm64
fi

if [[ $ARCH == x86_64 ]]
then
#echo -- rewrite arch from ${ARCH} to amd64
ARCH=amd64
fi

if [[ $VERSION == v* ]]
then
#echo -- strip version from ${VERSION} to ${VERSION:1}
VERSION=${VERSION:1}
fi

DIR=${APP}_${VERSION}_${ARCH}

if [[ $1 == name ]]
then
echo ${DIR}.deb
exit 0
fi

echo -- app=${APP}, version=${VERSION}, arch=${ARCH}, DIR=${DIR}

mkdir -p ${DIR}/usr/local/bin
cp build/adr-extract ${DIR}/usr/local/bin
cp build/adr-server ${DIR}/usr/local/bin

mkdir -p ${DIR}/etc/systemd/system
cat <<EOT > ${DIR}/etc/systemd/system/adr.service
[Unit]
Description=ADR
After=network.target
[Service]
Restart=always
RestartSec=15
TimeoutStartSec=300
User=adr
Group=adr
WorkingDirectory=/opt/adr
ExecStart=/opt/adr/adr-server /opt/typeahead.bin
[Install]
WantedBy=multi-user.target
EOT

mkdir -p ${DIR}/DEBIAN
cat <<EOT > ${DIR}/DEBIAN/control
Package: ${APP}
Version: ${VERSION}
Architecture: ${ARCH}
Maintainer: triptix GmbH <[email protected]>
Depends: adduser, libc6 (>= 2.34), libstdc++6 (>= 12.0.0)
Description: ${APP}
EOT

cat <<EOT > ${DIR}/DEBIAN/postinst
#!/bin/sh -e
if ! getent group adr >/dev/null 2>&1; then
addgroup --system --quiet adr
fi
if ! getent passwd adr >/dev/null 2>&1; then
adduser --system --quiet --ingroup adr \\
--no-create-home --home /nonexistent \\
adr
fi
EOT

chmod +x ${DIR}/DEBIAN/postinst

dpkg-deb --build --root-owner-group ${DIR}

0 comments on commit 104d160

Please sign in to comment.