Merge pull request #61 from junkurihara/github-actions
fix dockerfile for arm64
This commit is contained in:
commit
2dc285caac
5 changed files with 19 additions and 74 deletions
|
|
@ -21,6 +21,9 @@ jobs:
|
||||||
- name: GitHub Environment
|
- name: GitHub Environment
|
||||||
run: echo "BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV
|
run: echo "BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v2
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v2
|
uses: docker/setup-buildx-action@v2
|
||||||
|
|
||||||
|
|
@ -39,9 +42,11 @@ jobs:
|
||||||
tags: |
|
tags: |
|
||||||
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest
|
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest
|
||||||
file: ./docker/Dockerfile
|
file: ./docker/Dockerfile
|
||||||
platforms: linux/amd64
|
cache-from: type=gha
|
||||||
|
cache-to: type=gha,mode=max
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
|
|
||||||
- name: Release build and push x86_64-slim
|
- name: Release build and push slim
|
||||||
if: ${{ env.BRANCH == 'main' }}
|
if: ${{ env.BRANCH == 'main' }}
|
||||||
uses: docker/build-push-action@v4
|
uses: docker/build-push-action@v4
|
||||||
with:
|
with:
|
||||||
|
|
@ -50,7 +55,9 @@ jobs:
|
||||||
tags: |
|
tags: |
|
||||||
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:slim, ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest-slim
|
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:slim, ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest-slim
|
||||||
file: ./docker/Dockerfile.amd64-slim
|
file: ./docker/Dockerfile.amd64-slim
|
||||||
platforms: linux/amd64
|
cache-from: type=gha
|
||||||
|
cache-to: type=gha,mode=max
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
|
|
||||||
- name: Nightly build and push
|
- name: Nightly build and push
|
||||||
if: ${{ env.BRANCH == 'develop' }}
|
if: ${{ env.BRANCH == 'develop' }}
|
||||||
|
|
@ -61,4 +68,6 @@ jobs:
|
||||||
tags: |
|
tags: |
|
||||||
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:nightly
|
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:nightly
|
||||||
file: ./docker/Dockerfile
|
file: ./docker/Dockerfile
|
||||||
platforms: linux/amd64
|
cache-from: type=gha
|
||||||
|
cache-to: type=gha,mode=max
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
64
.github/workflows/docker_build_push_arm64.yml
vendored
64
.github/workflows/docker_build_push_arm64.yml
vendored
|
|
@ -1,64 +0,0 @@
|
||||||
name: Build and Publish Docker Aarch64
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- develop
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build_and_push:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
IMAGE_NAME: rpxy
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
|
|
||||||
- name: GitHub Environment
|
|
||||||
run: echo "BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v2
|
|
||||||
|
|
||||||
- name: Login to Docker Hub
|
|
||||||
uses: docker/login-action@v2
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
||||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Release build and push
|
|
||||||
if: ${{ env.BRANCH == 'main' }}
|
|
||||||
uses: docker/build-push-action@v4
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
push: true
|
|
||||||
tags: |
|
|
||||||
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest
|
|
||||||
file: ./docker/Dockerfile
|
|
||||||
platforms: linux/arm64
|
|
||||||
|
|
||||||
- name: Release build and push aarch64-slim
|
|
||||||
if: ${{ env.BRANCH == 'main' }}
|
|
||||||
uses: docker/build-push-action@v4
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
push: true
|
|
||||||
tags: |
|
|
||||||
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:slim, ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest-slim
|
|
||||||
file: ./docker/Dockerfile.arm64-slim
|
|
||||||
platforms: linux/arm64
|
|
||||||
|
|
||||||
- name: Nightly build and push
|
|
||||||
if: ${{ env.BRANCH == 'develop' }}
|
|
||||||
uses: docker/build-push-action@v4
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
push: true
|
|
||||||
tags: |
|
|
||||||
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:nightly
|
|
||||||
file: ./docker/Dockerfile
|
|
||||||
platforms: linux/arm64
|
|
||||||
|
|
@ -6,7 +6,7 @@ SHELL ["/bin/sh", "-x", "-c"]
|
||||||
ENV SERIAL 2
|
ENV SERIAL 2
|
||||||
|
|
||||||
########################################
|
########################################
|
||||||
FROM base as builder
|
FROM --platform=$BUILDPLATFORM base AS builder
|
||||||
|
|
||||||
ENV CFLAGS=-Ofast
|
ENV CFLAGS=-Ofast
|
||||||
ENV BUILD_DEPS curl make ca-certificates build-essential
|
ENV BUILD_DEPS curl make ca-certificates build-essential
|
||||||
|
|
@ -27,7 +27,7 @@ RUN apt-get update && apt-get install -qy --no-install-recommends $BUILD_DEPS &&
|
||||||
strip --strip-all /tmp/target/release/rpxy
|
strip --strip-all /tmp/target/release/rpxy
|
||||||
|
|
||||||
########################################
|
########################################
|
||||||
FROM base AS runner
|
FROM --platform=$TARGETPLATFORM base AS runner
|
||||||
|
|
||||||
ENV RUNTIME_DEPS logrotate ca-certificates gosu
|
ENV RUNTIME_DEPS logrotate ca-certificates gosu
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
########################################
|
########################################
|
||||||
FROM messense/rust-musl-cross:x86_64-musl as builder
|
FROM --platform=$BUILDPLATFORM messense/rust-musl-cross:x86_64-musl AS builder
|
||||||
|
|
||||||
ENV TARGET_DIR=x86_64-unknown-linux-musl
|
ENV TARGET_DIR=x86_64-unknown-linux-musl
|
||||||
ENV CFLAGS=-Ofast
|
ENV CFLAGS=-Ofast
|
||||||
|
|
@ -15,7 +15,7 @@ RUN echo "Building rpxy from source" && \
|
||||||
musl-strip --strip-all /tmp/target/${TARGET_DIR}/release/rpxy
|
musl-strip --strip-all /tmp/target/${TARGET_DIR}/release/rpxy
|
||||||
|
|
||||||
########################################
|
########################################
|
||||||
FROM alpine:latest as runner
|
FROM --platform=$TARGETPLATFORM alpine:latest AS runner
|
||||||
LABEL maintainer="Jun Kurihara"
|
LABEL maintainer="Jun Kurihara"
|
||||||
|
|
||||||
ENV TARGET_DIR=x86_64-unknown-linux-musl
|
ENV TARGET_DIR=x86_64-unknown-linux-musl
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
########################################
|
########################################
|
||||||
FROM messense/rust-musl-cross:aarch64-musl as builder
|
FROM --platform=$BUILDPLATFORM messense/rust-musl-cross:aarch64-musl AS builder
|
||||||
|
|
||||||
ENV TARGET_DIR=aarch64-unknown-linux-musl
|
ENV TARGET_DIR=aarch64-unknown-linux-musl
|
||||||
ENV CFLAGS=-Ofast
|
ENV CFLAGS=-Ofast
|
||||||
|
|
@ -15,7 +15,7 @@ RUN echo "Building rpxy from source" && \
|
||||||
musl-strip --strip-all /tmp/target/${TARGET_DIR}/release/rpxy
|
musl-strip --strip-all /tmp/target/${TARGET_DIR}/release/rpxy
|
||||||
|
|
||||||
########################################
|
########################################
|
||||||
FROM alpine:latest as runner
|
FROM --platform=$TARGETPLATFORM alpine:latest AS runner
|
||||||
LABEL maintainer="Jun Kurihara"
|
LABEL maintainer="Jun Kurihara"
|
||||||
|
|
||||||
ENV TARGET_DIR=aarch64-unknown-linux-musl
|
ENV TARGET_DIR=aarch64-unknown-linux-musl
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue