Skip to content

Merge pull request #42 from TritonDataCenter/deb12 #74

Merge pull request #42 from TritonDataCenter/deb12

Merge pull request #42 from TritonDataCenter/deb12 #74

Workflow file for this run

# trigger rebuild
name: Build LX Images
on:
workflow_dispatch:
push:
paths-ignore:
- '**.md'
branches:
- master
jobs:
prepare:
name: Create Release
runs-on: ubuntu-latest
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
tag: ${{ steps.build_tag.outputs.tag }}
steps:
- name: Create Time Stamp Tag
id: build_tag
run: date +'tag=%Y-%m-%d_%H-%M-%S' >> $GITHUB_OUTPUT
- name: Create Release
id: create_release
uses: ncipollo/release-action@v1.11.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ steps.build_tag.outputs.tag }}
name: Release ${{ steps.build_tag.outputs.tag }}
draft: false
prerelease: false
ubuntu:
needs: prepare
strategy:
matrix:
RELEASE:
- 22.04
- 20.04
- 18.04
name: Build Ubuntu ${{ matrix.RELEASE }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build Image
id: build_image
run: |
set -xe
cd ubuntu
tar=lx-ubuntu-${{ matrix.RELEASE }}.tar
tag=release:$$
docker build --tag $tag --build-arg UBUNTU_RELEASE=${{ matrix.RELEASE }} .
container=$(docker create $tag)
docker cp $container:. - > $tar
docker rm $container
docker rmi $tag
xz $tar
- name: Upload Release Asset
id: upload_release_asset
uses: sekwah41/upload-release-assets@v1.1.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.prepare.outputs.upload_url }}
asset_path: ./ubuntu/lx-ubuntu-${{ matrix.RELEASE }}.tar.xz
asset_name: lx-ubuntu-${{ matrix.RELEASE }}-${{ needs.prepare.outputs.tag }}.tar.xz
asset_content_type: application/x-xz
debian:
needs: prepare
strategy:
matrix:
RELEASE:
- bookworm
- bullseye
- buster
name: Build Debian ${{ matrix.RELEASE }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build Image
id: build_image
run: |
set -xe
cd debian
tar=lx-debian-${{ matrix.RELEASE }}.tar
tag=release:$$
docker build --tag $tag --build-arg DEBIAN_RELEASE=${{ matrix.RELEASE }} .
container=$(docker create $tag)
docker cp $container:. - > $tar
docker rm $container
docker rmi $tag
xz $tar
- name: Upload Release Asset
id: upload_release_asset
uses: sekwah41/upload-release-assets@v1.1.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.prepare.outputs.upload_url }}
asset_path: ./debian/lx-debian-${{ matrix.RELEASE }}.tar.xz
asset_name: lx-debian-${{ matrix.RELEASE }}-${{ needs.prepare.outputs.tag }}.tar.xz
asset_content_type: application/x-xz
devuan:
needs: prepare
strategy:
matrix:
RELEASE:
- chimaera
- beowulf
name: Build Devuan ${{ matrix.RELEASE }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build Image
id: build_image
run: |
set -xe
cd devuan
tar=lx-devuan-${{ matrix.RELEASE }}.tar
tag=release:$$
docker build --tag $tag --build-arg DEVUAN_RELEASE=${{ matrix.RELEASE }} .
container=$(docker create $tag)
docker cp $container:. - > $tar
docker rm $container
docker rmi $tag
xz $tar
- name: Upload Release Asset
id: upload_release_asset
uses: sekwah41/upload-release-assets@v1.1.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.prepare.outputs.upload_url }}
asset_path: ./devuan/lx-devuan-${{ matrix.RELEASE }}.tar.xz
asset_name: lx-devuan-${{ matrix.RELEASE }}-${{ needs.prepare.outputs.tag }}.tar.xz
asset_content_type: application/x-xz
void:
needs: prepare
name: Build void image
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build Image
id: build_image
run: |
cd void
tar=lx-void.tar
tag=release:$$
docker build --tag $tag .
container=$(docker create $tag)
docker cp $container:. - > $tar
docker rm $container
docker rmi $tag
xz $tar
- name: Upload Release Asset
id: upload_release_asset
uses: sekwah41/upload-release-assets@v1.1.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.prepare.outputs.upload_url }}
asset_path: ./void/lx-void.tar.xz
asset_name: lx-void-${{ needs.prepare.outputs.tag }}.tar.xz
asset_content_type: application/x-xz
centos-stream:
needs: prepare
strategy:
matrix:
RELEASE:
- 8
- 9
name: Build Centos Stream ${{ matrix.RELEASE }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build Image
id: build_image
run: |
set -xe
cd centos-stream
tar=lx-centos-stream-${{ matrix.RELEASE }}.tar
tag=release:$$
docker build --tag $tag --build-arg CENTOS_RELEASE=stream${{ matrix.RELEASE }} .
container=$(docker create $tag)
docker cp $container:. - > $tar
docker rm $container
docker rmi $tag
xz $tar
- name: Upload Release Asset
id: upload_release_asset
uses: sekwah41/upload-release-assets@v1.1.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.prepare.outputs.upload_url }}
asset_path: ./centos-stream/lx-centos-stream-${{ matrix.RELEASE }}.tar.xz
asset_name: lx-centos-stream-${{ matrix.RELEASE }}-${{ needs.prepare.outputs.tag }}.tar.xz
asset_content_type: application/x-xz
fedora:
needs: prepare
strategy:
matrix:
RELEASE:
- 35
name: Build fedora ${{ matrix.RELEASE }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build Image
id: build_image
run: |
set -xe
cd fedora
tar=lx-fedora-${{ matrix.RELEASE }}.tar
tag=release:$$
docker build --tag $tag --build-arg FEDORA_RELEASE=${{ matrix.RELEASE }} .
container=$(docker create $tag)
docker cp $container:. - > $tar
docker rm $container
docker rmi $tag
xz $tar
- name: Upload Release Asset
id: upload_release_asset
uses: sekwah41/upload-release-assets@v1.1.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.prepare.outputs.upload_url }}
asset_path: ./fedora/lx-fedora-${{ matrix.RELEASE }}.tar.xz
asset_name: lx-fedora-${{ matrix.RELEASE }}-${{ needs.prepare.outputs.tag }}.tar.xz
asset_content_type: application/x-xz
alma:
needs: prepare
strategy:
matrix:
RELEASE:
- 8
- 9
name: Build AlmaLinux ${{ matrix.RELEASE }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build Image
id: build_image
run: |
set -xe
cd alma
tar=lx-alma-${{ matrix.RELEASE }}.tar
tag=release:$$
docker build --tag $tag --build-arg ALMA_RELEASE=${{ matrix.RELEASE }} .
container=$(docker create $tag)
docker cp $container:. - > $tar
docker rm $container
docker rmi $tag
xz $tar
- name: Upload Release Asset
id: upload_release_asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.prepare.outputs.upload_url }}
asset_path: ./alma/lx-alma-${{ matrix.RELEASE }}.tar.xz
asset_name: lx-alma-${{ matrix.RELEASE }}-${{ needs.prepare.outputs.tag }}.tar.xz
asset_content_type: application/x-xz
rocky:
needs: prepare
strategy:
matrix:
RELEASE:
- 8
- 9
name: Build RockyLinux ${{ matrix.RELEASE }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build Image
id: build_image
run: |
set -xe
cd rocky
tar=lx-rocky-${{ matrix.RELEASE }}.tar
tag=release:$$
docker build --tag $tag --build-arg ROCKY_RELEASE=${{ matrix.RELEASE }} .
container=$(docker create $tag)
docker cp $container:. - > $tar
docker rm $container
docker rmi $tag
xz $tar
- name: Upload Release Asset
id: upload_release_asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.prepare.outputs.upload_url }}
asset_path: ./rocky/lx-rocky-${{ matrix.RELEASE }}.tar.xz
asset_name: lx-rocky-${{ matrix.RELEASE }}-${{ needs.prepare.outputs.tag }}.tar.xz
asset_content_type: application/x-xz