MinIO-Share-S3/.gitea/workflows/build.yaml
Alex Borisov 30b7048e30
All checks were successful
Actions Build Binary / Build-Binary (push) Successful in 5s
Actions Build Binary / Build-Docker-Image (push) Successful in 14s
Add file permission change and environment variable
2024-02-01 23:02:18 +03:00

85 lines
3.6 KiB
YAML

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 git
- 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
Build-Docker-Image:
runs-on: soaska
needs: Build-Binary
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
- name: Install Node.js and curl
run: |
apk add --no-cache nodejs curl git
- 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 Docker
run: |
apk add --no-cache docker
- name: Start Docker service
run: |
dockerd &
sleep 5
docker info
- name: Get Binary from 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 }} \
--output main \
https://soaska.ru/api/packages/${{ secrets.username }}/generic/$package_name-$branch_name/$current_date/$package_name
chmod 755 main
- name: List files in the repository
run: |
ls ${{ gitea.workspace }}
- name: Build Dockerfile
run: |
docker build -t $(basename ${{ github.repository}} | tr '[:upper:]' '[:lower:]') .
docker image ls
- name: Upload Docker image to soaska.ru
run: |
package_name=$(basename ${{ github.repository}} | tr '[:upper:]' '[:lower:]')
branch_name=$(git rev-parse --abbrev-ref HEAD | tr '[:upper:]' '[:lower:]')
docker login -u ${{ secrets.username }} -p ${{ secrets.password }} soaska.ru
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