Remove build.yaml and update Dockerfile
Some checks failed
Actions Build Binary / Build-Binary (push) Failing after 3s
Actions Build Docker Image / Build-Docker-Image (push) Successful in 8s

This commit is contained in:
Alex Borisov 2024-02-01 20:27:38 +03:00
parent fa4a13f428
commit 9e71dc47db
3 changed files with 57 additions and 51 deletions

View File

@ -1,15 +1,21 @@
name: Actions Build Docker Image
run-name: ${{ gitea.actor }} is building new image 🚀
on: push
on:
push:
workflow_run:
workflows:
- "Build-Binary"
types:
- completed
jobs:
Build-Docker-Image:
runs-on: soaska
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
- name: Install Node.js
- name: Install Node.js and curl
run: |
apk add --no-cache nodejs
apk add --no-cache nodejs curl
- name: Check out repository code
uses: actions/checkout@v3
- name: List files in the repository
@ -23,7 +29,15 @@ jobs:
run: |
dockerd &
sleep 5
docker info
docker info
- name: Get Binary from soaska.ru
run: |
package_name=$(basename ${{ github.repository | tr '[:upper:]' '[:lower:]' }})
branch_name=$(git rev-parse --abbrev-ref HEAD | tr '[:upper:]' '[:lower:]')
current_date: $(git log -1 --format=%cd --date=format:'%Y-%m-%d-%H-%M-%S')
curl --user ${{ secrets.username }}:${{ secrets.password }} \
--output main \
https://soaska.ru/api/packages/${{ secrets.username }}/generic/$package_name-$branch_name/$current_date/$package_name
- name: Build Dockerfile
run: |
package_name=$(basename ${{ github.repository | tr '[:upper:]' '[:lower:]' }})
@ -38,36 +52,4 @@ jobs:
docker tag $package_name:latest soaska.ru/${{ secrets.username }}/$package_name:$branch_name
docker tag $package_name:latest soaska.ru/${{ secrets.username }}/$package_name:latest
docker push soaska.ru/${{ secrets.username }}/$package_name:$branch_name
docker push soaska.ru/${{ secrets.username }}/$package_name:latest
Build-Binary:
runs-on: soaska
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
- name: Install Node.js, curl and go
run: |
apk add --no-cache nodejs curl go
- name: Check out repository code
uses: actions/checkout@v3
- name: List files in the repository
run: |
ls ${{ gitea.workspace }}
- run: echo "🍏 This job's status is ${{ job.status }}."
- name: Install go dependencies
run: |
go mod download
- name: Build Binary
run: |
go build -o $(basename ${{ gitea.repository }}) .
env:
ENVIRONMENT: production
- name: Upload binary to soaska.ru
run: |
package_name=$(basename ${{ gitea.repository }})
branch_name=$(git rev-parse --abbrev-ref HEAD)
current_date=$(date +%Y-%m-%d-%H-%M-%S)
curl --user ${{ secrets.username }}:${{ secrets.password }} \
--upload-file $package_name \
https://soaska.ru/api/packages/${{ secrets.username }}/generic/$package_name-$branch_name/$current_date/$package_name
env:
ENVIRONMENT: production
docker push soaska.ru/${{ secrets.username }}/$package_name:latest

View File

@ -0,0 +1,36 @@
name: Actions Build Binary
run-name: ${{ gitea.actor }} is building new image 🚀
on: push
jobs:
Build-Binary:
runs-on: soaska
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
- name: Install Node.js, curl and go
run: |
apk add --no-cache nodejs curl go
- name: Check out repository code
uses: actions/checkout@v3
- name: List files in the repository
run: |
ls ${{ gitea.workspace }}
- run: echo "🍏 This job's status is ${{ job.status }}."
- name: Install go dependencies
run: |
go mod download
- name: Build Binary
run: |
go build -o $(basename ${{ gitea.repository }}) .
env:
ENVIRONMENT: production
- name: Upload binary to soaska.ru
run: |
package_name=$(basename ${{ gitea.repository }})
branch_name=$(git rev-parse --abbrev-ref HEAD)
current_date: $(git log -1 --format=%cd --date=format:'%Y-%m-%d-%H-%M-%S')
curl --user ${{ secrets.username }}:${{ secrets.password }} \
--upload-file $package_name \
https://soaska.ru/api/packages/${{ secrets.username }}/generic/$package_name-$branch_name/$current_date/$package_name
env:
ENVIRONMENT: production

View File

@ -1,16 +1,4 @@
# Stage 1: Build the Rod application
FROM golang AS builder
WORKDIR /app
COPY go.mod go.sum /app/
RUN go mod download
COPY *.go /app/
ENV ENVIRONMENT=production
RUN go build -o main .
# Stage 2: Use a slim image for the runnable container
FROM alpine as runtime
FROM alpine
WORKDIR /root/
COPY --from=builder /app/main .
COPY /app/main .
CMD ["./main"]