Skip to content

Commit 1c35434

Browse files
build: add build configuration files
1 parent 213f64c commit 1c35434

File tree

4 files changed

+41
-14
lines changed

4 files changed

+41
-14
lines changed

.github/workflows/ci.yml

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,18 @@ jobs:
1212
steps:
1313
- name: Checkout
1414
uses: actions/checkout@v4
15+
16+
- name: Load configuration
17+
run: |
18+
echo opensource_COBOL_4J_version="$(jq -r '.opensource_COBOL_4J_version' build-config.json)" >> $GITHUB_ENV
19+
echo Open_COBOL_ESQL_4J_version="$(jq -r '.Open_COBOL_ESQL_4J_version' build-config.json)" >> $GITHUB_ENV
20+
echo version_string_prefix="$(jq -r '.version_string_prefix' build-config.json)" >> $GITHUB_ENV
1521
1622
- name: Build a docker image
17-
run: docker build -t opensourcecobol/opensourcecobol4j .
23+
run: |
24+
docker build -t opensourcecobol/opensourcecobol4j:"$version_string_prefix" . \
25+
--build-arg opensource_COBOL_4J_version="$opensource_COBOL_4J_version" \
26+
--build-arg Open_COBOL_ESQL_4J_version="$Open_COBOL_ESQL_4J_version"
1827
1928
utf8-build:
2029
runs-on: ubuntu-latest
@@ -23,5 +32,14 @@ jobs:
2332
- name: Checkout
2433
uses: actions/checkout@v4
2534

35+
- name: Load configuration
36+
run: |
37+
echo opensource_COBOL_4J_version="$(jq -r '.opensource_COBOL_4J_version' build-config.json)" >> $GITHUB_ENV
38+
echo Open_COBOL_ESQL_4J_version="$(jq -r '.Open_COBOL_ESQL_4J_version' build-config.json)" >> $GITHUB_ENV
39+
echo version_string_prefix="$(jq -r '.version_string_prefix' build-config.json)" >> $GITHUB_ENV
40+
2641
- name: Build a docker image
27-
run: docker build -t opensourcecobol/opensourcecobol4j:utf8 . -f utf8.Dockerfile
42+
run: |
43+
docker build -t opensourcecobol/opensourcecobol4j:utf8-"$version_string_prefix" . \
44+
--build-arg opensource_COBOL_4J_version="$opensource_COBOL_4J_version" \
45+
--build-arg Open_COBOL_ESQL_4J_version="$Open_COBOL_ESQL_4J_version"

Dockerfile

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Build stage
22
FROM almalinux:9 AS builder
33

4+
ARG opensource_COBOL_4J_version=1.1.12 Open_COBOL_ESQL_4J_version=1.1.1
5+
46
SHELL ["/bin/bash", "-c"]
57

68
# install build dependencies
@@ -15,14 +17,14 @@ RUN curl -fL https://github.com/coursier/coursier/releases/latest/download/cs-x8
1517

1618
# build opensourcecobol4j
1719
RUN cd /root && \
18-
curl -L -o opensourcecobol4j-v1.1.7.tar.gz https://github.com/opensourcecobol/opensourcecobol4j/archive/refs/tags/v1.1.7.tar.gz && \
19-
tar zxvf opensourcecobol4j-v1.1.7.tar.gz && \
20-
cd opensourcecobol4j-1.1.7 && \
20+
curl -L -o opensourcecobol4j-v${opensource_COBOL_4J_version}.tar.gz https://github.com/opensourcecobol/opensourcecobol4j/archive/refs/tags/v${opensource_COBOL_4J_version}.tar.gz && \
21+
tar zxvf opensourcecobol4j-v${opensource_COBOL_4J_version}.tar.gz && \
22+
cd opensourcecobol4j-${opensource_COBOL_4J_version} && \
2123
mkdir -p /tmp/usr/ &&\
2224
./configure --prefix=/tmp/usr/ && \
2325
make && \
2426
make install && \
25-
rm -rf /root/opensourcecobol4j-v1.1.7.tar.gz /root/opensourcecobol4j-1.1.7
27+
rm -rf /root/opensourcecobol4j-v${opensource_COBOL_4J_version}.tar.gz /root/opensourcecobol4j-${opensource_COBOL_4J_version}
2628

2729
# Download postgresql jar
2830
RUN mkdir -p /tmp/usr/lib/Open-COBOL-ESQL-4j/ && \
@@ -31,16 +33,16 @@ RUN mkdir -p /tmp/usr/lib/Open-COBOL-ESQL-4j/ && \
3133
# Build Open COBOL ESQL 4J
3234
ENV PATH="$PATH:/root/.local/share/coursier/bin"
3335
RUN cd /root/ && \
34-
curl -L -o Open-COBOL-ESQL-4j-1.1.1.tar.gz https://github.com/opensourcecobol/Open-COBOL-ESQL-4j/archive/refs/tags/v1.1.1.tar.gz && \
35-
tar zxvf Open-COBOL-ESQL-4j-1.1.1.tar.gz && \
36-
cd Open-COBOL-ESQL-4j-1.1.1 && \
36+
curl -L -o Open-COBOL-ESQL-4j-${Open_COBOL_ESQL_4J_version}.tar.gz https://github.com/opensourcecobol/Open-COBOL-ESQL-4j/archive/refs/tags/v${Open_COBOL_ESQL_4J_version}.tar.gz && \
37+
tar zxvf Open-COBOL-ESQL-4j-${Open_COBOL_ESQL_4J_version}.tar.gz && \
38+
cd Open-COBOL-ESQL-4j-${Open_COBOL_ESQL_4J_version} && \
3739
cp /tmp/usr/lib/opensourcecobol4j/libcobj.jar dblibj/lib && \
3840
cp /tmp/usr/lib/Open-COBOL-ESQL-4j/postgresql.jar dblibj/lib && \
3941
mkdir -p /tmp/usr/ &&\
4042
./configure --prefix=/tmp/usr/ && \
4143
make && \
4244
make install && \
43-
rm -rf /root/Open-COBOL-ESQL-4j-1.1.1.tar.gz /root/Open-COBOL-ESQL-4j-1.1.1
45+
rm -rf /root/Open-COBOL-ESQL-4j-${Open_COBOL_ESQL_4J_version}.tar.gz /root/Open-COBOL-ESQL-4j-${Open_COBOL_ESQL_4J_version}
4446

4547
# Runtime stage
4648
FROM almalinux:9

build-config.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"opensource_COBOL_4J_version": "${Open_COBOL_ESQL_4J_version}2",
3+
"Open_COBOL_ESQL_4J_version": "${Open_COBOL_ESQL_4J_version}",
4+
"version_string_prefix": "debug_version"
5+
}

utf8.Dockerfile

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Build stage
22
FROM almalinux:9 AS builder
33

4+
ARG opensource_COBOL_4J_version=1.1.12 Open_COBOL_ESQL_4J_version=1.1.1
5+
46
SHELL ["/bin/bash", "-c"]
57

68
# install build dependencies
@@ -15,15 +17,15 @@ RUN curl -fL https://github.com/coursier/coursier/releases/latest/download/cs-x8
1517

1618
# build opensourcecobol4j
1719
RUN cd /root && \
18-
curl -L -o opensourcecobol4j-v1.1.7.tar.gz https://github.com/opensourcecobol/opensourcecobol4j/archive/refs/tags/v1.1.7.tar.gz && \
19-
tar zxvf opensourcecobol4j-v1.1.7.tar.gz && \
20-
cd opensourcecobol4j-1.1.7 && \
20+
curl -L -o opensourcecobol4j-v${opensource_COBOL_4J_version}.tar.gz https://github.com/opensourcecobol/opensourcecobol4j/archive/refs/tags/v${opensource_COBOL_4J_version}.tar.gz && \
21+
tar zxvf opensourcecobol4j-v${opensource_COBOL_4J_version}.tar.gz && \
22+
cd opensourcecobol4j-${opensource_COBOL_4J_version} && \
2123
mkdir -p /tmp/usr/ &&\
2224
./configure --prefix=/tmp/usr/ --enable-utf8 && \
2325
touch cobj/*.m4 && \
2426
make && \
2527
make install && \
26-
rm -rf /root/opensourcecobol4j-v1.1.7.tar.gz /root/opensourcecobol4j-1.1.7
28+
rm -rf /root/opensourcecobol4j-v${opensource_COBOL_4J_version}.tar.gz /root/opensourcecobol4j-${opensource_COBOL_4J_version}
2729

2830
# Runtime stage
2931
FROM almalinux:9

0 commit comments

Comments
 (0)