forked from TrueCloudLab/action-env
Compare commits
10 commits
976af216c6
...
28cb112243
Author | SHA1 | Date | |
---|---|---|---|
28cb112243 | |||
eb9cae2f79 | |||
18d7a6e0ae | |||
d837dacfd1 | |||
b9ee619374 | |||
1b4e256d1d | |||
a3b7e14413 | |||
ab35bf6f37 | |||
e128ea6fdd | |||
22d46bfb6f |
6 changed files with 46 additions and 18 deletions
|
@ -14,6 +14,8 @@ jobs:
|
|||
- openjdk-11-maven-3.8.6
|
||||
- python-3.11
|
||||
- python-3.13
|
||||
env:
|
||||
STORAGE_DRIVER: vfs
|
||||
steps:
|
||||
- name: Clone git repo
|
||||
uses: actions/checkout@v3
|
||||
|
@ -26,18 +28,26 @@ jobs:
|
|||
id: changed
|
||||
|
||||
- name: Install Buildah
|
||||
run: apt update; apt install -y buildah
|
||||
if: steps.changed.outputs.any_changed == 'true'
|
||||
run: |-
|
||||
apt update; apt install -y buildah
|
||||
|
||||
# STORAGE_DRIVER variable is ignored if this file does not exist
|
||||
touch /etc/containers/storage.conf
|
||||
if: >-
|
||||
github.event_name == 'workflow_dispatch'
|
||||
|| steps.changed.outputs.any_changed == 'true'
|
||||
|
||||
- name: Build OCI image
|
||||
run: make ${{matrix.tag}}
|
||||
if: steps.changed.outputs.any_changed == 'true'
|
||||
if: >-
|
||||
github.event_name == 'workflow_dispatch'
|
||||
|| steps.changed.outputs.any_changed == 'true'
|
||||
|
||||
- name: Push image to OCI registry
|
||||
run: make ${{matrix.tag}} PUSH=y
|
||||
run: make push-${{matrix.tag}}
|
||||
if: >-
|
||||
steps.changed.outputs.any_changed == 'true'
|
||||
&& github.ref == 'refs/heads/master'
|
||||
&& github.event_name == 'push'
|
||||
github.ref == 'refs/heads/master' &&
|
||||
(github.event_name == 'workflow_dispatch' ||
|
||||
(steps.changed.outputs.any_changed == 'true' && github.event_name == 'push'))
|
||||
env:
|
||||
REGISTRY_PASSWORD: ${secrets.REGISTRY_PASSWORD}
|
||||
REGISTRY_PASSWORD: ${{secrets.REGISTRY_PASSWORD}}
|
||||
|
|
16
Makefile
16
Makefile
|
@ -1,11 +1,9 @@
|
|||
PUSH?=
|
||||
|
||||
REGISTRY?=git.frostfs.info
|
||||
REGISTRY_NAMESPACE?=truecloudlab
|
||||
REGISTRY_USER?=$(REGISTRY_NAMESPACE)
|
||||
REGISTRY_PASSWORD?=
|
||||
|
||||
IMAGE=$(REGISTRY)/$(REGISTRY_NAMESPACE)/env
|
||||
IMAGE?=$(REGISTRY)/$(REGISTRY_NAMESPACE)/env
|
||||
|
||||
TAGS=$(patsubst %/.,%,$(wildcard */.))
|
||||
.PHONY: $(TAGS)
|
||||
|
@ -13,8 +11,10 @@ $(TAGS):
|
|||
buildah images
|
||||
cd $@ && buildah bud --tag $(IMAGE):$@ .
|
||||
buildah images
|
||||
ifneq (,$(PUSH))
|
||||
echo $$REGISTRY_PASSWORD | buildah login --username $(REGISTRY_USER) --password-stdin $(REGISTRY)
|
||||
buildah push --rm $(IMAGE):$@ docker://$(IMAGE):$@
|
||||
buildah logout
|
||||
endif
|
||||
|
||||
PUSH=$(foreach tag,$(TAGS),push-$(tag))
|
||||
$(PUSH):
|
||||
echo -n "$$REGISTRY_PASSWORD" | wc
|
||||
echo "$$REGISTRY_PASSWORD" | buildah login --username $(REGISTRY_USER) --password-stdin $(REGISTRY)
|
||||
buildah push --rm $(IMAGE):$(patsubst push-%,%,$@) docker://$(IMAGE):$(patsubst push-%,%,$@)
|
||||
buildah logout $(REGISTRY)
|
||||
|
|
14
README.md
14
README.md
|
@ -5,3 +5,17 @@ is available by default. This is not the case in Forgejo Actions, and we need
|
|||
to add Node.js to community provided images explicitly.
|
||||
|
||||
This repo contains Dockerfile for images used by TrueCloudLab.
|
||||
|
||||
Images are published to [our registry](https://git.frostfs.info/TrueCloudLab/-/packages/container/env/versions)
|
||||
|
||||
## Modifying container images
|
||||
|
||||
Prepare a pull request with a modified or entirely new Dockerfile.
|
||||
The image will get built and published after PR is merged to master.
|
||||
|
||||
## Requirements
|
||||
|
||||
Images for Forgejo Actions must contain:
|
||||
|
||||
- Node.js
|
||||
- Git
|
||||
|
|
4
dotnet-8.0/Dockerfile
Normal file
4
dotnet-8.0/Dockerfile
Normal file
|
@ -0,0 +1,4 @@
|
|||
FROM docker.io/node:20-bookworm-slim as node
|
||||
FROM mcr.microsoft.com/dotnet/sdk:8.0-bookworm-slim
|
||||
COPY --from=node /usr/local /usr/local
|
||||
COPY --from=node /opt /opt
|
|
@ -1,4 +1,4 @@
|
|||
FROM docker.io/node:20-bookworm-slim as node
|
||||
FROM docker.io/python:3.11-slim-bookworm
|
||||
FROM docker.io/python:3.11-bookworm
|
||||
COPY --from=node /usr/local /usr/local
|
||||
COPY --from=node /opt /opt
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
FROM docker.io/node:20-bookworm-slim as node
|
||||
FROM docker.io/python:3.13-slim-bookworm
|
||||
FROM docker.io/python:3.13-bookworm
|
||||
COPY --from=node /usr/local /usr/local
|
||||
COPY --from=node /opt /opt
|
||||
|
|
Loading…
Reference in a new issue