Skip to content

Commit 36aa71c

Browse files
committed
Build with Github actions
1 parent 1373b63 commit 36aa71c

File tree

3 files changed

+109
-2
lines changed

3 files changed

+109
-2
lines changed

.github/workflows/docker.yml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
name: Docker Image
2+
3+
on:
4+
push:
5+
paths-ignore:
6+
- "README.md"
7+
- "LICENSE"
8+
pull_request:
9+
schedule:
10+
- cron: "0 12 1-7 * 2"
11+
12+
jobs:
13+
docker-image-ubuntu:
14+
strategy:
15+
matrix:
16+
version:
17+
- ubuntu: 18.04
18+
sqlcmd: "17.4.1.1-1"
19+
sqlcmd_minor: "17.4"
20+
sqlcmd_major: ""
21+
latest: false
22+
- ubuntu: 22.04
23+
sqlcmd: "17.10.1.1-1"
24+
sqlcmd_minor: "17.10"
25+
sqlcmd_major: "17"
26+
latest: true # newest possible version available -> tag as latest ubuntu-latest
27+
28+
env:
29+
IMAGE_NAME_FULL: "fabiang/sqlcmd:${{ matrix.version.sqlcmd }}"
30+
IMAGE_NAME_MINOR: "fabiang/sqlcmd:${{ matrix.version.sqlcmd_minor }}"
31+
IMAGE_NAME_MAJOR: "fabiang/sqlcmd:${{ matrix.version.sqlcmd_major }}"
32+
IMAGE_NAME_UBUNTU_FULL: "fabiang/sqlcmd:${{ matrix.version.sqlcmd }}-ubuntu${{ matrix.version.ubuntu }}"
33+
IMAGE_NAME_UBUNTU_MINOR: "fabiang/sqlcmd:${{ matrix.version.sqlcmd_minor }}-ubuntu${{ matrix.version.ubuntu }}"
34+
IMAGE_NAME_UBUNTU_MAJOR: "fabiang/sqlcmd:${{ matrix.version.sqlcmd_major }}-ubuntu${{ matrix.version.ubuntu }}"
35+
IMAGE_LATEST: "fabiang/sqlcmd:latest"
36+
IMAGE_LATEST_UBUNTU: "fabiang/sqlcmd:ubuntu-latest"
37+
38+
runs-on: ubuntu-latest
39+
40+
name: "Sqlcmd v${{ matrix.version.sqlcmd }} (Ubuntu ${{ matrix.version.ubuntu }})"
41+
42+
steps:
43+
- uses: actions/checkout@v1
44+
45+
- uses: satackey/action-docker-layer-caching@v0.0.11
46+
continue-on-error: true
47+
48+
- name: Build Image
49+
run: |
50+
docker build -f ubuntu/Dockerfile \
51+
-t '${{ env.IMAGE_NAME_FULL }}' \
52+
-t '${{ env.IMAGE_NAME_UBUNTU_FULL }}' \
53+
'--build-arg=UBUNTU_VERSION=${{ matrix.version.ubuntu }}' \
54+
'--build-arg=MSSQLTOOLS_VERSION=${{ matrix.version.sqlcmd }}' \
55+
.
56+
57+
- name: Test image
58+
run: |
59+
docker run -t --rm --entrypoint='' \
60+
'${{ env.IMAGE_NAME_FULL }}' \
61+
sqlcmd -?
62+
63+
- name: Tag Minor
64+
if: "${{ matrix.version.sqlcmd_minor != '' }}"
65+
run: |
66+
docker tag '${{ env.IMAGE_NAME_FULL }}' '${{ env.IMAGE_NAME_MINOR }}'
67+
docker tag '${{ env.IMAGE_NAME_FULL }}' '${{ env.IMAGE_NAME_UBUNTU_MINOR }}'
68+
69+
- name: Tag Major
70+
if: "${{ matrix.version.sqlcmd_major != '' }}"
71+
run: |
72+
docker tag '${{ env.IMAGE_NAME_FULL }}' '${{ env.IMAGE_NAME_MAJOR }}'
73+
docker tag '${{ env.IMAGE_NAME_FULL }}' '${{ env.IMAGE_NAME_UBUNTU_MAJOR }}'
74+
75+
- name: Tag Latest
76+
if: "${{ matrix.version.latest == true }}"
77+
run: |
78+
docker tag '${{ env.IMAGE_NAME_FULL }}' '${{ env.IMAGE_LATEST }}'
79+
docker tag '${{ env.IMAGE_NAME_FULL }}' '${{ env.IMAGE_LATEST_UBUNTU }}'
80+
81+
- name: Docker Hub login
82+
if: "${{ github.ref == 'refs/heads/main' }}"
83+
uses: azure/docker-login@v1
84+
with:
85+
username: ${{ secrets.CONTAINER_REGISTRY_USERNAME }}
86+
password: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
87+
88+
- name: Push Image
89+
if: "${{ github.ref == 'refs/heads/main' }}"
90+
run: |
91+
docker push '${{ env.IMAGE_NAME_FULL }}'
92+
docker push '${{ env.IMAGE_NAME_UBUNTU_FULL }}'
93+
94+
- name: Push Image Minor
95+
if: "${{ matrix.version.sqlcmd_minor != '' && github.ref == 'refs/heads/main' }}"
96+
run: |
97+
docker push '${{ env.IMAGE_NAME_MINOR }}'
98+
docker push '${{ env.IMAGE_NAME_UBUNTU_MINOR }}'
99+
100+
- name: Push Image Major
101+
if: "${{ matrix.version.sqlcmd_major != '' && github.ref == 'refs/heads/main' }}"
102+
run: |
103+
docker push '${{ env.IMAGE_NAME_MAJOR }}'
104+
docker push '${{ env.IMAGE_NAME_UBUNTU_MAJOR }}'

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ Sqlcmd – command line tool for Microsoft SQL Server.
44

55
[![fabiang/sqlcmd](http://dockeri.co/image/fabiang/sqlcmd)](https://registry.hub.docker.com/u/fabiang/sqlcmd/)
66

7+
## Available tags
8+
9+
* 17.10.1.1-1-ubuntu22.04, 17.10.1.1-1, 17.10-ubuntu, 17.10, 17-ubuntu, 17, latest-ubuntu, latest
10+
* 17.4.1.1-1-ubuntu18.04, 17.4.1.1-1, 17.4-ubuntu, 17.4
11+
712
## License
813

914
When using this container you accept the licences from MICROSOFT SOFTWARE LICENSE TERMS

Dockerfile renamed to ubuntu/Dockerfile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
ARG UBUNTU_VERSION=18.04
22
FROM ubuntu:$UBUNTU_VERSION
33

4-
MAINTAINER Fabian Grutschus "docker@lubyte.de"
5-
64
ARG MSSQLTOOLS_VERSION=17.4.1.1-1
75
ENV PATH=/opt/mssql-tools/bin:$PATH
86

0 commit comments

Comments
 (0)