-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add periodic workflow and include build artifacts
- Loading branch information
1 parent
11a2bbe
commit 7babf44
Showing
4 changed files
with
124 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
name: Periodically Build | ||
|
||
on: | ||
schedule: | ||
- cron: '0 0 * * 0' # At 00:00 every Sunday | ||
|
||
workflow_dispatch: | ||
|
||
jobs: | ||
setup-build: | ||
name: Setup, Build | ||
runs-on: ubuntu-latest | ||
continue-on-error: true | ||
strategy: | ||
max-parallel: 6 | ||
# select a core set of images to build | ||
matrix: | ||
IMAGE_VARIANT: | ||
- Dockerfile | ||
# - Dockerfile-deb # don't build deb package for now | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
if: ${{ github.event.action }} != 'workflow_dispatch' | ||
|
||
- name: Checkout, ref = ${{ github.ref_name }} | ||
uses: actions/checkout@v2 | ||
if: ${{ github.event.action }} == 'workflow_dispatch' | ||
with: | ||
ref: ${{ github.ref_name }} | ||
|
||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v3 | ||
|
||
- name: Build | ||
uses: docker/build-push-action@v5 | ||
with: | ||
context: . | ||
file: ${{ matrix.IMAGE_VARIANT }} | ||
tags: quota-microservices | ||
push: false | ||
load: true | ||
cache-from: type=gha | ||
cache-to: type=gha,mode=max | ||
|
||
- name: Extract built package | ||
uses: shrink/actions-docker-extract@v3 | ||
id: extract | ||
with: | ||
image: quota-microservices | ||
path: /output/. | ||
destination: output | ||
|
||
# Archive the built package | ||
- name: Archive artifacts | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: compiled-artifacts | ||
path: output |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,44 +1,32 @@ | ||
FROM centos:centos7.6.1810 | ||
RUN yum -y install epel-release &&\ | ||
yum makecache -y &&\ | ||
yum clean all &&\ | ||
FROM centos:centos7.6.1810 as builder | ||
RUN yum makecache -y && \ | ||
yum clean all&& \ | ||
yum update -y | ||
RUN yum install -y epel-release \ | ||
yum-utils \ | ||
emacs \ | ||
vim-enhanced \ | ||
expect \ | ||
wget \ | ||
git | ||
|
||
RUN yum install -y epel-release \ | ||
pwgen \ | ||
jq | ||
|
||
RUN rpm --import https://packages.irods.org/irods-signing-key.asc | ||
RUN wget -qO - https://packages.irods.org/renci-irods.yum.repo | \ | ||
tee /etc/yum.repos.d/renci-irods.yum.repo | ||
RUN yum makecache -y fast &&\ | ||
yum-utils \ | ||
vim-enhanced \ | ||
expect \ | ||
wget \ | ||
git | ||
RUN yum install -y pwgen \ | ||
jq | ||
RUN rpm --import https://packages.irods.org/irods-signing-key.asc && \ | ||
wget -qO - https://packages.irods.org/renci-irods.yum.repo | tee /etc/yum.repos.d/renci-irods.yum.repo | ||
RUN yum makecache -y && \ | ||
yum group install -y "Development Tools" --setopt=group_package_types=mandatory,default,optional | ||
|
||
RUN yum install -y sudo python3 centos-release-scl | ||
RUN yum install -y python36-distro devtoolset-10-gcc devtoolset-10-gcc-c++ | ||
RUN yum install -y irods-externals-* | ||
WORKDIR /opt | ||
# https://github.com/irods/externals?tab=readme-ov-file#rhel--centos-7 | ||
RUN git clone https://github.com/irods/externals.git &&\ | ||
cd externals &&\ | ||
./install_prerequisites.py &&\ | ||
scl enable devtoolset-10 bash | ||
WORKDIR /opt/externals | ||
RUN make | ||
RUN yum install -y --skip-broken irods-externals-* | ||
RUN yum install -y openssl-devel libcurl-devel | ||
RUN yum install -y irods-devel-4.2.11 | ||
|
||
RUN yum install -y irods-devel-4.2.11-1 | ||
COPY . /hydroshare-quota | ||
# CMakeLists.txt must match iRODS version specified. This file is under version control | ||
# cmake3.21 for iRODS 4.3.x | ||
# cmake3.11.4-0 for iRODS 4.2.x | ||
WORKDIR /hydroshare-quota/ | ||
RUN /opt/irods-externals/cmake3.11.4-0/bin/cmake . 2>&1 | tee cmake.stdout | ||
RUN cat cmake.stdout | ||
RUN make package 2>&1 | tee make.stdout | ||
# Investigate for Rocky/RHEL 9 | ||
RUN mkdir /output && mv *.rpm /output/ | ||
|
||
WORKDIR /hydroshare-quota | ||
RUN /opt/externals/cmake3.11.4-0/bin/cmake . | ||
RUN make package | ||
|
||
# save hydroshare-quota-microservices-centos7-x86_64.rpm | ||
FROM alpine | ||
COPY --from=builder /output /output |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters