commit d93a87489da84e8b11c74165636e19e17680e5e5 Author: Leonardo Amaral Date: Fri Jul 26 17:11:57 2024 -0300 Initial Release Signed-off-by: Leonardo Amaral diff --git a/.gitea/workflows/build-and-push.yaml b/.gitea/workflows/build-and-push.yaml new file mode 100644 index 0000000..351a643 --- /dev/null +++ b/.gitea/workflows/build-and-push.yaml @@ -0,0 +1,50 @@ +name: Build VMCli with PowerShell +on: [push] + +jobs: + Build-VMCli: + runs-on: ubuntu-latest + steps: + - name: Install docker + run: | + apt update + apt -y install curl ca-certificates + install -m 0755 -d /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc + chmod a+r /etc/apt/keyrings/docker.asc + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ + $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ + tee /etc/apt/sources.list.d/docker.list > /dev/null + apt update + apt -y install docker-ce-cli docker-buildx-plugin docker-compose-plugin + + - name: Clone Repo + uses: actions/checkout@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: +# Someday.... https://github.com/go-gitea/gitea/issues/23642 +# username: ${{ gitea.repository_owner }} +# password: ${{ secrets.GITEA_TOKEN}} + username: ${{ vars.PAT_USER }} + password: ${{ secrets.PAT_TOKEN}} + registry: git.leonardoamaral.com.br + + - name: Build and push + uses: docker/build-push-action@v5 + with: + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max + context: . + file: ./Containerfile + platforms: linux/amd64, linux/arm64 + push: true + tags: leonardo/vmcli-powershell-container + + - name: Move cache + run: | + rm -rf /tmp/.buildx-cache + mv /tmp/.buildx-cache-new /tmp/.buildx-cache + diff --git a/Containerfile b/Containerfile new file mode 100644 index 0000000..ecba6b7 --- /dev/null +++ b/Containerfile @@ -0,0 +1,4 @@ +FROM mcr.microsoft.com/powershell:latest + +RUN /opt/microsoft/powershell/7/pwsh -Command Set-PSRepository -Name 'PSGallery' -Verbose -InstallationPolicy Trusted \ + && /opt/microsoft/powershell/7/pwsh -Command Install-Module VMware.PowerCLI -Verbose -Scope AllUsers -AllowClobber -AcceptLicense -Confirm:\$false