Skip to content

Commit

Permalink
Merge branch 'openshift:konveyor-dev' into pvc-mount-not-read-only
Browse files Browse the repository at this point in the history
  • Loading branch information
msfrucht authored Aug 20, 2024
2 parents 8ac4f56 + 32e4c95 commit 166651c
Show file tree
Hide file tree
Showing 14 changed files with 606 additions and 28 deletions.
21 changes: 0 additions & 21 deletions .github/dependabot.yml

This file was deleted.

38 changes: 38 additions & 0 deletions .github/workflows/bz-pr-action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# This is a basic workflow to help you get started with Actions

name: BZ PR Creation

# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the main branch
pull_request_target:
branches:
- "*"
types:
- opened
- edited
- reopened
- synchronize

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
bz-on-pr-create:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: docker://quay.io/konveyor/pr-bz-github-action
name: update bugzilla with posted pr
with:
org_repo: ${{ github.repository }}
pr_number: ${{ github.event.pull_request.number }}
bz_product: "Migration Toolkit for Containers"
title: ${{ github.event.pull_request.title }}
github_token: ${{ secrets.GITHUB_TOKEN }}
bugzilla_token: ${{ secrets.BUGZILLA_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/e2e-test-kind.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -143,4 +143,4 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: DebugBundle
path: /home/runner/work/velero/velero/test/e2e/debug-bundle*
path: /home/runner/work/velero/velero/test/e2e/debug-bundle*
37 changes: 37 additions & 0 deletions .github/workflows/pr-merge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# This is a basic workflow to help you get started with Actions

name: BZ Merge

# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the main branch
pull_request_target:
branches:
- "*"
types:
- closed


# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in pnamearallel
jobs:
# This workflow contains a single job called "build"
bz-on-pr-merge:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: docker://quay.io/konveyor/pr-merge-github-action
name: update bugzilla to modified
with:
bugzilla_token: ${{ secrets.BUGZILLA_TOKEN }}
org_repo: ${{ github.repository }}
pr_number: ${{ github.event.pull_request.number }}
bz_product: "Migration Toolkit for Containers"
title: ${{ github.event.pull_request.title }}
github_token: ${{ secrets.GITHUB_TOKEN }}
branch_to_release: "release-1.4.4:1.4.4,release-1.4.3:1.4.3,konveyor-1.5.2:1.4.0,release-1.4.5:1.4.5,release-1.5.0:1.5.0,konveyor-dev:1.5.z"
base_branch: ${{ github.base_ref }}
61 changes: 61 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Publish Images

on:
push:
branches:
- konveyor-dev
- 'release-*.*.*'
- 'sprint-*'
tags:
- 'release-*.*.*'
workflow_dispatch:

env:
REGISTRY: quay.io
IMAGE_NAME: konveyor/velero
HELPER_IMAGE_NAME: konveyor/velero-restore-helper
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Extract branch name
shell: bash
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
id: extract_branch

- name: Build container image
run: docker build . --file Dockerfile.ubi --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.extract_branch.outputs.branch }}

- name: Build helper image
run: docker build . --file Dockerfile-velero-restore-helper.ubi --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.extract_branch.outputs.branch }}

- name: Log into registry
run: echo "${{ secrets.QUAY_PUBLISH_TOKEN }}" | docker login quay.io -u ${{ secrets.QUAY_PUBLISH_ROBOT }} --password-stdin

- name: Push container image
run: docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.extract_branch.outputs.branch }}

- name: Push helper image
run: docker push ${{ env.REGISTRY }}/${{ env.HELPER_IMAGE_NAME }}:${{ steps.extract_branch.outputs.branch }}

- name: Retag container image
run: docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.extract_branch.outputs.branch }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
if: ${{ github.ref == 'refs/heads/konveyor-dev' }}

- name: Retag helper image
run: docker tag ${{ env.REGISTRY }}/${{ env.HELPER_IMAGE_NAME }}:${{ steps.extract_branch.outputs.branch }} ${{ env.REGISTRY }}/${{ env.HELPER_IMAGE_NAME }}:latest
if: ${{ github.ref == 'refs/heads/konveyor-dev' }}

- name: push retagged container image
run: docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
if: ${{ github.ref == 'refs/heads/konveyor-dev' }}

- name: push retagged helper image
run: docker push ${{ env.REGISTRY }}/${{ env.HELPER_IMAGE_NAME }}:latest
if: ${{ github.ref == 'refs/heads/konveyor-dev' }}
78 changes: 78 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
os: linux
services: docker
dist: focal
language: go
go: stable

env:
global:
- IMAGE1: quay.io/konveyor/velero
- IMAGE2: quay.io/konveyor/velero-restore-helper
- DEFAULT_BRANCH: konveyor-dev
- DOCKERFILE1: Dockerfile.ubi
- DOCKERFILE2: Dockerfile-velero-restore-helper.ubi
- DOCKER_CLI_EXPERIMENTAL: enabled
- GOPROXY: https://goproxy.io,direct

before_install:
- |
if [ "${TRAVIS_BRANCH}" == "${DEFAULT_BRANCH}" ]; then
export TAG=latest
else
export TAG="${TRAVIS_BRANCH}"
fi
# Builds routinely fail due to download failures inside alternate arch docker containers
# Here we are downloading outside the docker container and copying the deps in
# Also use -v for downloads/builds to stop no output failures from lxd env buffering.
before_script:
- go mod vendor -v
- git clone https://github.com/konveyor/restic -b ${TRAVIS_BRANCH}
- pushd restic; go mod vendor -v; popd
- sed -i 's|-mod=mod|-mod=vendor|g' ${DOCKERFILE1}
- sed -i 's|-mod=mod|-mod=vendor|g' ${DOCKERFILE2}
- sed -i 's|go build|go build -v|g' ${DOCKERFILE1}
- sed -i 's|go build|go build -v|g' ${DOCKERFILE2}
- sed -i 's|^RUN mkdir -p \$APP_ROOT/src/github.com/restic \\$|COPY --chown=1001 restic/ $APP_ROOT/src/github.com/restic/restic|g' ${DOCKERFILE1}
- sed -i 's|&& cd \$APP_ROOT/src/github.com/restic \\$||g' ${DOCKERFILE1}
- sed -i 's|&& git clone https://github.com/konveyor/restic -b .*$||g' ${DOCKERFILE1}

script:
- docker build -t ${IMAGE1}:${TAG}-${TRAVIS_ARCH} -f ${DOCKERFILE1} .
- docker build -t ${IMAGE2}:${TAG}-${TRAVIS_ARCH} -f ${DOCKERFILE2} .
- if [ -n "${QUAY_ROBOT}" ]; then docker login quay.io -u "${QUAY_ROBOT}" -p ${QUAY_TOKEN}; fi
- if [ -n "${QUAY_ROBOT}" ]; then docker push ${IMAGE1}:${TAG}-${TRAVIS_ARCH}; fi
- if [ -n "${QUAY_ROBOT}" ]; then docker push ${IMAGE2}:${TAG}-${TRAVIS_ARCH}; fi

jobs:
include:
- stage: build images
arch: ppc64le
- arch: s390x
- arch: arm64-graviton2
virt: vm
group: edge
- arch: amd64
- stage: push manifest
language: shell
arch: amd64
before_script: []
script:
- |
if [ -n "${QUAY_ROBOT}" ]; then
docker login quay.io -u "${QUAY_ROBOT}" -p ${QUAY_TOKEN}
docker manifest create \
${IMAGE1}:${TAG} \
${IMAGE1}:${TAG}-amd64 \
${IMAGE1}:${TAG}-ppc64le \
${IMAGE1}:${TAG}-s390x \
${IMAGE1}:${TAG}-aarch64
docker manifest create \
${IMAGE2}:${TAG} \
${IMAGE2}:${TAG}-amd64 \
${IMAGE2}:${TAG}-ppc64le \
${IMAGE2}:${TAG}-s390x \
${IMAGE2}:${TAG}-aarch64
docker manifest push ${IMAGE1}:${TAG}
docker manifest push ${IMAGE2}:${TAG}
fi
21 changes: 21 additions & 0 deletions Dockerfile-velero-restore-helper.ubi
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
FROM --platform=$BUILDPLATFORM quay.io/konveyor/builder:ubi9-latest AS builder
ARG BUILDPLATFORM
ARG TARGETOS
ARG TARGETARCH

ENV GOPATH=$APP_ROOT

COPY . $APP_ROOT/src/github.com/vmware-tanzu/velero

WORKDIR $APP_ROOT/src/github.com/vmware-tanzu/velero

RUN CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} go build -a -mod=mod -ldflags '-extldflags "-static"' -o $APP_ROOT/src/velero-restore-helper github.com/vmware-tanzu/velero/cmd/velero-restore-helper

FROM registry.access.redhat.com/ubi9-minimal
RUN microdnf -y update && microdnf clean all

COPY --from=builder /opt/app-root/src/velero-restore-helper velero-restore-helper

USER 65534:65534

ENTRYPOINT [ "/velero-restore-helper" ]
42 changes: 42 additions & 0 deletions Dockerfile.ubi
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
FROM --platform=$BUILDPLATFORM quay.io/konveyor/builder:ubi9-latest AS builder
ARG BUILDPLATFORM
ARG TARGETOS
ARG TARGETARCH

ENV GOPATH=$APP_ROOT

COPY . /go/src/github.com/vmware-tanzu/velero

WORKDIR /go/src/github.com/vmware-tanzu/velero

RUN CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} go build -a -mod=mod -ldflags '-extldflags "-static" -X github.com/vmware-tanzu/velero/pkg/buildinfo.Version=konveyor-dev' -o /go/src/velero github.com/vmware-tanzu/velero/cmd/velero
RUN CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} go build -a -mod=mod -ldflags '-extldflags "-static"' -o /go/src/velero-helper github.com/vmware-tanzu/velero/cmd/velero-helper

FROM --platform=$BUILDPLATFORM quay.io/konveyor/builder:ubi9-latest AS restic-builder
ARG BUILDPLATFORM
ARG TARGETOS
ARG TARGETARCH

ENV GOPATH=$APP_ROOT

RUN mkdir -p $APP_ROOT/src/github.com/restic \
&& cd $APP_ROOT/src/github.com/restic \
&& git clone https://github.com/konveyor/restic -b konveyor-dev

WORKDIR $APP_ROOT/src/github.com/restic/restic

RUN CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} go build -a -mod=mod -ldflags '-extldflags "-static"' -o $APP_ROOT/src/restic github.com/restic/restic/cmd/restic

FROM registry.access.redhat.com/ubi9-minimal
RUN microdnf -y update && microdnf -y install nmap-ncat && microdnf -y reinstall tzdata && microdnf clean all
COPY --from=builder /go/src/velero velero
COPY --from=builder /go/src/velero-helper velero-helper
COPY --from=restic-builder /opt/app-root/src/restic /usr/bin/restic

RUN mkdir -p /home/velero
RUN chmod -R 777 /home/velero

USER 65534:65534
ENV HOME=/home/velero

ENTRYPOINT ["/velero"]
Loading

0 comments on commit 166651c

Please sign in to comment.