Skip to content

Commit 25147ac

Browse files
authored
automate getting binaries from docker images (#1)
1 parent 6e175d7 commit 25147ac

File tree

6 files changed

+740
-0
lines changed

6 files changed

+740
-0
lines changed

.github/workflows/release.yaml

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Release
2+
3+
on:
4+
release:
5+
types:
6+
- published
7+
8+
jobs:
9+
upload-binaries:
10+
runs-on: ubuntu-latest
11+
env:
12+
DOCKER_CLI_EXPERIMENTAL: "enabled"
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v2
16+
17+
- name: Set up Go
18+
uses: actions/setup-go@v2
19+
with:
20+
go-version: 1.15.x
21+
22+
# We need api 1.41 to override platform
23+
- name: Install docker stable
24+
uses: docker-practice/actions-setup-docker@v1
25+
with:
26+
docker_channel: stable
27+
docker_version: 20.10
28+
29+
- name: Set up Docker
30+
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
31+
32+
- name: Get tag name
33+
id: tagName
34+
run: |
35+
TAG=$(git describe --tags --exact-match)
36+
echo ::set-output name=tag::${TAG}
37+
38+
- name: Run fetchenvoy
39+
working-directory: fetchenvoy
40+
run: |
41+
go run . ${{steps.tagName.outputs.tag}}
42+
43+
- name: Upload binaries to release
44+
working-directory: fetchenvoy
45+
env:
46+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
47+
run: |
48+
gh release upload ${{ steps.tagName.outputs.tag }} envoy-*

README.md

+10
Original file line numberDiff line numberDiff line change
@@ -1 +1,11 @@
11
# Envoy Binaries
2+
3+
For some platforms, envoy is only distributed via docker images.
4+
5+
This repo contains:
6+
- a utility to extract envoy binaries from upstream container images
7+
- releases to house the envoy binary assets in an easily accessible place
8+
9+
# Releasing
10+
11+
When a release tag is created, the envoy binaries will be automatically extracted from the matching `envoyproxy/envoy` image tag and uploaded to the release.

fetchenvoy/go.mod

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
module github.com/pomerium/envoy-binaries/fetchenvoy
2+
3+
go 1.15
4+
5+
require (
6+
github.com/Microsoft/go-winio v0.4.14 // indirect
7+
github.com/containerd/containerd v1.4.3 // indirect
8+
github.com/docker/distribution v2.7.1+incompatible // indirect
9+
github.com/docker/docker v20.10.2+incompatible
10+
github.com/docker/go-connections v0.4.0 // indirect
11+
github.com/docker/go-units v0.4.0 // indirect
12+
github.com/gogo/protobuf v1.3.1 // indirect
13+
github.com/gorilla/mux v1.7.3 // indirect
14+
github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2 // indirect
15+
github.com/morikuni/aec v1.0.0 // indirect
16+
github.com/opencontainers/go-digest v1.0.0 // indirect
17+
github.com/opencontainers/image-spec v1.0.1
18+
github.com/sirupsen/logrus v1.7.0 // indirect
19+
github.com/spf13/cobra v1.1.1
20+
go.uber.org/zap v1.16.0
21+
golang.org/x/net v0.0.0-20191003171128-d98b1b443823 // indirect
22+
google.golang.org/grpc v1.34.0 // indirect
23+
)

0 commit comments

Comments
 (0)