mirror of
				https://gitea.com/docker/build-push-action.git
				synced 2025-10-31 09:08:18 +07:00 
			
		
		
		
	Merge pull request #837 from crazy-max/update-workflows
ci: split validate and test workflow
This commit is contained in:
		
						commit
						817ed59f97
					
				
							
								
								
									
										68
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										68
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @ -11,12 +11,13 @@ on: | |||||||
|         description: 'BuildKit image' |         description: 'BuildKit image' | ||||||
|         default: 'moby/buildkit:buildx-stable-1' |         default: 'moby/buildkit:buildx-stable-1' | ||||||
|         required: false |         required: false | ||||||
|  |   schedule: | ||||||
|  |     - cron: '0 10 * * *' | ||||||
|   push: |   push: | ||||||
|     branches: |     branches: | ||||||
|       - 'master' |       - 'master' | ||||||
|  |       - 'releases/v*' | ||||||
|   pull_request: |   pull_request: | ||||||
|     branches: |  | ||||||
|       - 'master' |  | ||||||
| 
 | 
 | ||||||
| env: | env: | ||||||
|   BUILDX_VERSION: latest |   BUILDX_VERSION: latest | ||||||
| @ -199,6 +200,69 @@ jobs: | |||||||
|             exit 1 |             exit 1 | ||||||
|           fi |           fi | ||||||
| 
 | 
 | ||||||
|  |   example: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     env: | ||||||
|  |       DOCKER_IMAGE: localhost:5000/name/app | ||||||
|  |     services: | ||||||
|  |       registry: | ||||||
|  |         image: registry:2 | ||||||
|  |         ports: | ||||||
|  |           - 5000:5000 | ||||||
|  |     steps: | ||||||
|  |       - | ||||||
|  |         name: Checkout | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |       - | ||||||
|  |         name: Docker meta | ||||||
|  |         id: meta | ||||||
|  |         uses: docker/metadata-action@v4 | ||||||
|  |         with: | ||||||
|  |           images: ${{ env.DOCKER_IMAGE }} | ||||||
|  |           tags: | | ||||||
|  |             type=schedule | ||||||
|  |             type=ref,event=branch | ||||||
|  |             type=ref,event=pr | ||||||
|  |             type=semver,pattern={{version}} | ||||||
|  |             type=semver,pattern={{major}}.{{minor}} | ||||||
|  |             type=semver,pattern={{major}} | ||||||
|  |             type=sha | ||||||
|  |       - | ||||||
|  |         name: Set up Docker Buildx | ||||||
|  |         uses: docker/setup-buildx-action@v2 | ||||||
|  |         with: | ||||||
|  |           version: ${{ inputs.buildx-version || env.BUILDX_VERSION }} | ||||||
|  |           driver-opts: | | ||||||
|  |             network=host | ||||||
|  |             image=${{ inputs.buildkit-image || env.BUILDKIT_IMAGE }} | ||||||
|  |       - | ||||||
|  |         name: Build and export to Docker client | ||||||
|  |         uses: ./ | ||||||
|  |         with: | ||||||
|  |           context: ./test | ||||||
|  |           file: ./test/Dockerfile | ||||||
|  |           load: true | ||||||
|  |           tags: ${{ steps.meta.outputs.tags }} | ||||||
|  |           labels: ${{ steps.meta.outputs.labels }} | ||||||
|  |       - | ||||||
|  |         name: Build and push to local registry | ||||||
|  |         uses: ./ | ||||||
|  |         with: | ||||||
|  |           context: ./test | ||||||
|  |           file: ./test/Dockerfile | ||||||
|  |           push: ${{ github.event_name != 'pull_request' }} | ||||||
|  |           tags: ${{ steps.meta.outputs.tags }} | ||||||
|  |           labels: ${{ steps.meta.outputs.labels }} | ||||||
|  |       - | ||||||
|  |         name: Inspect image | ||||||
|  |         run: | | ||||||
|  |           docker image inspect ${{ env.DOCKER_IMAGE }}:${{ steps.meta.outputs.version }} | ||||||
|  |       - | ||||||
|  |         name: Check manifest | ||||||
|  |         if: github.event_name != 'pull_request' | ||||||
|  |         run: | | ||||||
|  |           docker buildx imagetools inspect ${{ env.DOCKER_IMAGE }}:${{ steps.meta.outputs.version }} --format '{{json .}}' | ||||||
|  | 
 | ||||||
|   error: |   error: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|  | |||||||
							
								
								
									
										74
									
								
								.github/workflows/example.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										74
									
								
								.github/workflows/example.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,74 +0,0 @@ | |||||||
| # This workflow is provided just as an example and not for repo testing/verification |  | ||||||
| name: example |  | ||||||
| 
 |  | ||||||
| on: |  | ||||||
|   schedule: |  | ||||||
|     - cron: '0 10 * * 0' |  | ||||||
|   push: |  | ||||||
|     branches: |  | ||||||
|       - '**' |  | ||||||
|     tags: |  | ||||||
|       - 'v*.*.*' |  | ||||||
|   pull_request: |  | ||||||
| 
 |  | ||||||
| env: |  | ||||||
|   DOCKER_IMAGE: localhost:5000/name/app |  | ||||||
| 
 |  | ||||||
| jobs: |  | ||||||
|   docker: |  | ||||||
|     runs-on: ubuntu-latest |  | ||||||
|     services: |  | ||||||
|       registry: |  | ||||||
|         image: registry:2 |  | ||||||
|         ports: |  | ||||||
|           - 5000:5000 |  | ||||||
|     steps: |  | ||||||
|       - |  | ||||||
|         name: Checkout |  | ||||||
|         uses: actions/checkout@v3 |  | ||||||
|       - |  | ||||||
|         name: Docker meta |  | ||||||
|         id: meta |  | ||||||
|         uses: docker/metadata-action@v4 |  | ||||||
|         with: |  | ||||||
|           images: ${{ env.DOCKER_IMAGE }} |  | ||||||
|           tags: | |  | ||||||
|             type=schedule |  | ||||||
|             type=ref,event=branch |  | ||||||
|             type=ref,event=pr |  | ||||||
|             type=semver,pattern={{version}} |  | ||||||
|             type=semver,pattern={{major}}.{{minor}} |  | ||||||
|             type=semver,pattern={{major}} |  | ||||||
|             type=sha |  | ||||||
|       - |  | ||||||
|         name: Set up Docker Buildx |  | ||||||
|         uses: docker/setup-buildx-action@v2 |  | ||||||
|         with: |  | ||||||
|           driver-opts: network=host |  | ||||||
|       - |  | ||||||
|         name: Build and export to Docker client |  | ||||||
|         uses: ./ |  | ||||||
|         with: |  | ||||||
|           context: ./test |  | ||||||
|           file: ./test/Dockerfile |  | ||||||
|           load: true |  | ||||||
|           tags: ${{ steps.meta.outputs.tags }} |  | ||||||
|           labels: ${{ steps.meta.outputs.labels }} |  | ||||||
|       - |  | ||||||
|         name: Build and push to local registry |  | ||||||
|         uses: ./ |  | ||||||
|         with: |  | ||||||
|           context: ./test |  | ||||||
|           file: ./test/Dockerfile |  | ||||||
|           push: ${{ github.event_name != 'pull_request' }} |  | ||||||
|           tags: ${{ steps.meta.outputs.tags }} |  | ||||||
|           labels: ${{ steps.meta.outputs.labels }} |  | ||||||
|       - |  | ||||||
|         name: Inspect image |  | ||||||
|         run: | |  | ||||||
|           docker image inspect ${{ env.DOCKER_IMAGE }}:${{ steps.meta.outputs.version }} |  | ||||||
|       - |  | ||||||
|         name: Check manifest |  | ||||||
|         if: github.event_name != 'pull_request' |  | ||||||
|         run: | |  | ||||||
|           docker buildx imagetools inspect ${{ env.DOCKER_IMAGE }}:${{ steps.meta.outputs.version }} --format '{{json .}}' |  | ||||||
							
								
								
									
										8
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							| @ -4,9 +4,8 @@ on: | |||||||
|   push: |   push: | ||||||
|     branches: |     branches: | ||||||
|       - 'master' |       - 'master' | ||||||
|  |       - 'releases/v*' | ||||||
|   pull_request: |   pull_request: | ||||||
|     branches: |  | ||||||
|       - 'master' |  | ||||||
| 
 | 
 | ||||||
| jobs: | jobs: | ||||||
|   test: |   test: | ||||||
| @ -15,11 +14,6 @@ jobs: | |||||||
|       - |       - | ||||||
|         name: Checkout |         name: Checkout | ||||||
|         uses: actions/checkout@v3 |         uses: actions/checkout@v3 | ||||||
|       - |  | ||||||
|         name: Validate |  | ||||||
|         uses: docker/bake-action@v2 |  | ||||||
|         with: |  | ||||||
|           targets: validate |  | ||||||
|       - |       - | ||||||
|         name: Test |         name: Test | ||||||
|         uses: docker/bake-action@v2 |         uses: docker/bake-action@v2 | ||||||
|  | |||||||
							
								
								
									
										41
									
								
								.github/workflows/validate.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								.github/workflows/validate.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,41 @@ | |||||||
|  | name: validate | ||||||
|  | 
 | ||||||
|  | on: | ||||||
|  |   push: | ||||||
|  |     branches: | ||||||
|  |       - 'master' | ||||||
|  |       - 'releases/v*' | ||||||
|  |   pull_request: | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   prepare: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     outputs: | ||||||
|  |       targets: ${{ steps.targets.outputs.matrix }} | ||||||
|  |     steps: | ||||||
|  |       - | ||||||
|  |         name: Checkout | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |       - | ||||||
|  |         name: Targets matrix | ||||||
|  |         id: targets | ||||||
|  |         run: | | ||||||
|  |           echo "matrix=$(docker buildx bake validate --print | jq -cr '.group.validate.targets')" >> $GITHUB_OUTPUT | ||||||
|  | 
 | ||||||
|  |   validate: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     needs: | ||||||
|  |       - prepare | ||||||
|  |     strategy: | ||||||
|  |       fail-fast: false | ||||||
|  |       matrix: | ||||||
|  |         target: ${{ fromJson(needs.prepare.outputs.targets) }} | ||||||
|  |     steps: | ||||||
|  |       - | ||||||
|  |         name: Checkout | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |       - | ||||||
|  |         name: Validate | ||||||
|  |         uses: docker/bake-action@v2 | ||||||
|  |         with: | ||||||
|  |           targets: ${{ matrix.target }} | ||||||
							
								
								
									
										72
									
								
								.github/workflows/virtual-env.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										72
									
								
								.github/workflows/virtual-env.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,72 +0,0 @@ | |||||||
| name: virtual-env |  | ||||||
| 
 |  | ||||||
| on: |  | ||||||
|   workflow_dispatch: |  | ||||||
|   schedule: |  | ||||||
|     - cron: '0 10 * * *' |  | ||||||
|   push: |  | ||||||
|     branches: |  | ||||||
|       - 'master' |  | ||||||
|     paths: |  | ||||||
|       - '.github/workflows/virtual-env.yml' |  | ||||||
|   pull_request: |  | ||||||
|     branches: |  | ||||||
|       - 'master' |  | ||||||
|     paths: |  | ||||||
|       - '.github/workflows/virtual-env.yml' |  | ||||||
| 
 |  | ||||||
| jobs: |  | ||||||
|   os: |  | ||||||
|     runs-on: ${{ matrix.os }} |  | ||||||
|     strategy: |  | ||||||
|       fail-fast: false |  | ||||||
|       matrix: |  | ||||||
|         os: |  | ||||||
|           - ubuntu-latest |  | ||||||
|           - ubuntu-22.04 |  | ||||||
|           - ubuntu-20.04 |  | ||||||
|           - ubuntu-18.04 |  | ||||||
|     steps: |  | ||||||
|       - |  | ||||||
|         name: File system |  | ||||||
|         run: df -ah |  | ||||||
|       - |  | ||||||
|         name: Mounts |  | ||||||
|         run: mount |  | ||||||
|       - |  | ||||||
|         name: Node info |  | ||||||
|         run: node -p process |  | ||||||
|       - |  | ||||||
|         name: NPM version |  | ||||||
|         run: npm version |  | ||||||
|       - |  | ||||||
|         name: List install packages |  | ||||||
|         run: apt list --installed |  | ||||||
|       - |  | ||||||
|         name: Docker daemon conf |  | ||||||
|         run: | |  | ||||||
|           cat /etc/docker/daemon.json |  | ||||||
|       - |  | ||||||
|         name: Docker info |  | ||||||
|         run: docker info |  | ||||||
|       - |  | ||||||
|         name: Docker version |  | ||||||
|         run: docker version |  | ||||||
|       - |  | ||||||
|         name: Cgroups |  | ||||||
|         run: | |  | ||||||
|           sudo apt-get install -y cgroup-tools |  | ||||||
|           lscgroup |  | ||||||
|       - |  | ||||||
|         name: buildx version |  | ||||||
|         run: docker buildx version |  | ||||||
|       - |  | ||||||
|         name: containerd version |  | ||||||
|         run: containerd --version |  | ||||||
|       - |  | ||||||
|         name: Docker images |  | ||||||
|         run: docker image ls |  | ||||||
|       - |  | ||||||
|         name: Dump context |  | ||||||
|         if: always() |  | ||||||
|         uses: crazy-max/ghaction-dump-context@v2 |  | ||||||
| @ -1,16 +1,19 @@ | |||||||
| FROM golang:1.19-alpine AS base | # syntax=docker/dockerfile:1 | ||||||
|  | 
 | ||||||
|  | FROM golang:alpine AS base | ||||||
| ENV CGO_ENABLED=0 | ENV CGO_ENABLED=0 | ||||||
| RUN apk add --no-cache file git | RUN apk add --no-cache file git | ||||||
| WORKDIR /src | WORKDIR /src | ||||||
| 
 | 
 | ||||||
| FROM base as build | FROM base AS build | ||||||
| COPY go.mod go.sum ./ | RUN --mount=type=bind,target=/src \ | ||||||
| RUN go mod download -x |     --mount=type=cache,target=/root/.cache/go-build \ | ||||||
| COPY . . |     go build -ldflags "-s -w" -o /usr/bin/app . | ||||||
| RUN go build -ldflags "-s -w" -o /usr/bin/app . |  | ||||||
| 
 | 
 | ||||||
| FROM scratch AS binary | FROM scratch AS binary | ||||||
| COPY --from=build /usr/bin/app /bin/app | COPY --from=build /usr/bin/app /bin/app | ||||||
| 
 | 
 | ||||||
| FROM alpine:3.17 AS image | FROM alpine AS image | ||||||
| COPY --from=build /usr/bin/app /bin/app | COPY --from=build /usr/bin/app /bin/app | ||||||
|  | EXPOSE 8080 | ||||||
|  | ENTRYPOINT ["/bin/app"] | ||||||
|  | |||||||
| @ -1,19 +1,3 @@ | |||||||
| module github.com/docker/build-push-action/test/go | module github.com/docker/build-push-action/test/go | ||||||
| 
 | 
 | ||||||
| go 1.18 | go 1.18 | ||||||
| 
 |  | ||||||
| require github.com/labstack/echo/v4 v4.9.1 |  | ||||||
| 
 |  | ||||||
| require ( |  | ||||||
| 	github.com/golang-jwt/jwt v3.2.2+incompatible // indirect |  | ||||||
| 	github.com/labstack/gommon v0.4.0 // indirect |  | ||||||
| 	github.com/mattn/go-colorable v0.1.11 // indirect |  | ||||||
| 	github.com/mattn/go-isatty v0.0.14 // indirect |  | ||||||
| 	github.com/valyala/bytebufferpool v1.0.0 // indirect |  | ||||||
| 	github.com/valyala/fasttemplate v1.2.1 // indirect |  | ||||||
| 	golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect |  | ||||||
| 	golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f // indirect |  | ||||||
| 	golang.org/x/sys v0.0.0-20211103235746-7861aae1554b // indirect |  | ||||||
| 	golang.org/x/text v0.3.7 // indirect |  | ||||||
| 	golang.org/x/time v0.0.0-20201208040808-7e3f01d25324 // indirect |  | ||||||
| ) |  | ||||||
|  | |||||||
| @ -1,38 +0,0 @@ | |||||||
| github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= |  | ||||||
| github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= |  | ||||||
| github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= |  | ||||||
| github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= |  | ||||||
| github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= |  | ||||||
| github.com/labstack/echo/v4 v4.9.1 h1:GliPYSpzGKlyOhqIbG8nmHBo3i1saKWFOgh41AN3b+Y= |  | ||||||
| github.com/labstack/echo/v4 v4.9.1/go.mod h1:Pop5HLc+xoc4qhTZ1ip6C0RtP7Z+4VzRLWZZFKqbbjo= |  | ||||||
| github.com/labstack/gommon v0.4.0 h1:y7cvthEAEbU0yHOf4axH8ZG2NH8knB9iNSoTO8dyIk8= |  | ||||||
| github.com/labstack/gommon v0.4.0/go.mod h1:uW6kP17uPlLJsD3ijUYn3/M5bAxtlZhMI6m3MFxTMTM= |  | ||||||
| github.com/mattn/go-colorable v0.1.11 h1:nQ+aFkoE2TMGc0b68U2OKSexC+eq46+XwZzWXHRmPYs= |  | ||||||
| github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= |  | ||||||
| github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= |  | ||||||
| github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= |  | ||||||
| github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= |  | ||||||
| github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= |  | ||||||
| github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= |  | ||||||
| github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= |  | ||||||
| github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= |  | ||||||
| github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= |  | ||||||
| github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= |  | ||||||
| github.com/valyala/fasttemplate v1.2.1 h1:TVEnxayobAdVkhQfrfes2IzOB6o+z4roRkPF52WA1u4= |  | ||||||
| github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= |  | ||||||
| golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 h1:HWj/xjIHfjYU5nVXpTM0s39J9CbLn7Cc5a7IC5rwsMQ= |  | ||||||
| golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= |  | ||||||
| golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f h1:OfiFi4JbukWwe3lzw+xunroH1mnC1e2Gy5cxNJApiSY= |  | ||||||
| golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= |  | ||||||
| golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= |  | ||||||
| golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= |  | ||||||
| golang.org/x/sys v0.0.0-20211103235746-7861aae1554b h1:1VkfZQv42XQlA/jchYumAnv1UPo6RgF9rJFkTgZIxO4= |  | ||||||
| golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= |  | ||||||
| golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= |  | ||||||
| golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= |  | ||||||
| golang.org/x/time v0.0.0-20201208040808-7e3f01d25324 h1:Hir2P/De0WpUhtrKGGjvSb2YxUgyZ7EFOSLIcSSpiwE= |  | ||||||
| golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= |  | ||||||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= |  | ||||||
| gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= |  | ||||||
| gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= |  | ||||||
| gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= |  | ||||||
| @ -1,31 +1,14 @@ | |||||||
| package main | package main | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  | 	"fmt" | ||||||
|  | 	"log" | ||||||
| 	"net/http" | 	"net/http" | ||||||
| 	"os" |  | ||||||
| 
 |  | ||||||
| 	"github.com/labstack/echo/v4" |  | ||||||
| 	"github.com/labstack/echo/v4/middleware" |  | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| func main() { | func main() { | ||||||
| 	e := echo.New() | 	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { | ||||||
| 
 | 		fmt.Fprintf(w, "Hello, Go!") | ||||||
| 	e.Use(middleware.Logger()) |  | ||||||
| 	e.Use(middleware.Recover()) |  | ||||||
| 
 |  | ||||||
| 	e.GET("/", func(c echo.Context) error { |  | ||||||
| 		return c.HTML(http.StatusOK, "Hello World") |  | ||||||
| 	}) | 	}) | ||||||
| 
 | 	log.Fatal(http.ListenAndServe(":8080", nil)) | ||||||
| 	e.GET("/ping", func(c echo.Context) error { |  | ||||||
| 		return c.JSON(http.StatusOK, struct{ Status string }{Status: "OK"}) |  | ||||||
| 	}) |  | ||||||
| 
 |  | ||||||
| 	httpPort := os.Getenv("HTTP_PORT") |  | ||||||
| 	if httpPort == "" { |  | ||||||
| 		httpPort = "8080" |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	e.Logger.Fatal(e.Start(":" + httpPort)) |  | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user