+12








fcd7c979df
Co-authored-by: Artur <145776561+arturict@users.noreply.github.com> Co-authored-by: arturict <arturict@users.noreply.github.com> Co-authored-by: Thomas <thomas@ajnart.fr> Co-authored-by: Afonso Jorge Ramos <afonsojorgeramos@gmail.com> Co-authored-by: Danura30082 <danura30082+github@gmail.com> Co-authored-by: Kushie <122986913+kushiemoon-dev@users.noreply.github.com> Co-authored-by: ajnart <thomas@ajnart.fr> Co-authored-by: ajnart <thomas@ajnart.dev> Co-authored-by: chenjun <chenjun@foxmail.com> Co-authored-by: Wikibear <wikibear@users.noreply.github.com> Co-authored-by: Bergasha <bergasha@gmail.com> Co-authored-by: leafyelin <43306196+leafyelin@users.noreply.github.com> Co-authored-by: Lucas Araujo <lucas.lra@gmail.com> Co-authored-by: GreenMonito <86085570+GreenMonito@users.noreply.github.com> Co-authored-by: Nerdy-Technician <roffo@nerdy-technician.social> Co-authored-by: Jun <34545896+jcstrong@users.noreply.github.com> Co-authored-by: Edmond Abraham <54119952+gitedmond@users.noreply.github.com> Co-authored-by: thrawnx <tight.bulb9384@fastmail.com> Co-authored-by: Chris <58918656+nordada@users.noreply.github.com> Co-authored-by: yi111 <153097222+Yi-111-a@users.noreply.github.com> Co-authored-by: Yanis <naamaneyanis@gmail.com> Co-authored-by: Wikibear <me@sej.de> Co-authored-by: alessiottavo <93441886+alessiottavo@users.noreply.github.com>
65 lines
3.0 KiB
YAML
65 lines
3.0 KiB
YAML
name: Extract Build Artifact
|
|
description: Extracts artifacts from an existing Docker image to be used for from source installation
|
|
inputs:
|
|
digest:
|
|
description: Digest of Docker image to use
|
|
required: true
|
|
architecture:
|
|
description: Name of architecture, will be used to build artifact content (amd64 or arm64)
|
|
required: true
|
|
release-tag:
|
|
description: Tag of the release to which the artifact will be attached
|
|
required: true
|
|
repository:
|
|
description: Repository to which the release belongs, e.g. owner/repo
|
|
required: true
|
|
token:
|
|
description: GitHub token with permissions to upload release assets
|
|
required: true
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Prebuilt debian dependencies
|
|
uses: ./.github/actions/prebuilt-debian
|
|
id: prebuilt-debian
|
|
with:
|
|
architecture: ${{ inputs.architecture }}
|
|
- name: Start docker container for ${{ inputs.architecture }}
|
|
run: |
|
|
docker run --name homarr \
|
|
-e "SECRET_ENCRYPTION_KEY=0000000000000000000000000000000000000000000000000000000000000000" \
|
|
--detach --rm ${{ inputs.digest }}
|
|
shell: bash
|
|
- name: Prepare extraction
|
|
run: |
|
|
docker exec homarr cp /etc/nginx/templates/nginx.conf /app && \
|
|
mkdir -p ${{ runner.temp }}/extraction/${{ inputs.architecture }}
|
|
shell: bash
|
|
- name: Extract source from ${{ inputs.architecture }} container (alpine)
|
|
run: |
|
|
docker exec homarr tar -czf extraction-alpine.tar.gz -C /app . && \
|
|
docker cp homarr:/app/extraction-alpine.tar.gz ${{ runner.temp }}/extraction/${{ inputs.architecture }}/build-alpine-${{ inputs.architecture }}.tar.gz && \
|
|
docker exec homarr rm /app/extraction-alpine.tar.gz
|
|
shell: bash
|
|
- name: Extract source from ${{ inputs.architecture }} container (debian)
|
|
run: |
|
|
docker cp ${{ steps.prebuilt-debian.outputs.path }}/. homarr:/app/build && \
|
|
docker cp ${{ steps.prebuilt-debian.outputs.path }}/. homarr:/app/node_modules/better-sqlite3/build/Release && \
|
|
docker exec homarr tar -czf extraction-debian.tar.gz -C /app . && \
|
|
docker cp homarr:/app/extraction-debian.tar.gz ${{ runner.temp }}/extraction/${{ inputs.architecture }}/build-debian-${{ inputs.architecture }}.tar.gz
|
|
shell: bash
|
|
- name: Stop ${{ inputs.architecture }} container
|
|
if: always()
|
|
run: docker container remove --force --volumes homarr
|
|
shell: bash
|
|
- name: Add build archive to release (alpine)
|
|
env:
|
|
GH_TOKEN: ${{ inputs.token }}
|
|
run: gh release upload --repo ${{ inputs.repository }} ${{ inputs.release-tag }} ${{ runner.temp }}/extraction/${{ inputs.architecture }}/build-alpine-${{ inputs.architecture }}.tar.gz --clobber
|
|
shell: bash
|
|
- name: Add build archive to release (debian)
|
|
env:
|
|
GH_TOKEN: ${{ inputs.token }}
|
|
run: gh release upload --repo ${{ inputs.repository }} ${{ inputs.release-tag }} ${{ runner.temp }}/extraction/${{ inputs.architecture }}/build-debian-${{ inputs.architecture }}.tar.gz --clobber
|
|
shell: bash
|