Skip to content

1.17.0

1.17.0 #29

Workflow file for this run

name: Vagrant box
on:
release:
types: [created]
jobs:
deploy:
runs-on: macos-12
env:
VAGRANT_CLOUD_USERNAME: pedrofurtado
VAGRANT_CLOUD_BOX_NAME: vagrant-ubuntu-workspace
VAGRANT_CLOUD_BOX_VERSION: ${{ github.event.release.tag_name }}
VAGRANT_CLOUD_ACCESS_TOKEN: ${{ secrets.VAGRANT_CLOUD_ACCESS_TOKEN }}
steps:
- name: Version - Vagrant
run: vagrant --version
- name: Version - Jq
run: jq --version
- name: Version - Curl
run: curl --version
- name: Version - Box
run: echo $VAGRANT_CLOUD_BOX_VERSION
- name: VM - Plugins
run: |
vagrant plugin install vagrant-vbguest
vagrant plugin install vagrant-disksize
- uses: actions/checkout@v2
- name: VM - Build script
run: vagrant up
- name: VM - OS version
run: vagrant ssh -c "cat /etc/os-release"
- name: VM - Dos2Unix
run: vagrant ssh -c "dos2unix --version"
- name: VM - Timezone
run: vagrant ssh -c "date"
- name: VM - Docker
run: vagrant ssh -c "docker --version"
- name: VM - Kind K8s
run: vagrant ssh -c "kind --version"
- name: VM - Kubectl K8s
run: vagrant ssh -c "kubectl version"
- name: VM - Portainer
run: vagrant ssh -c "sudo docker container inspect portainer | grep Status"
- name: VM - Pip3
run: vagrant ssh -c "pip3 --version"
- name: VM - Docker compose
run: vagrant ssh -c "docker-compose --version"
- name: VM - Ngrok
run: vagrant ssh -c "ngrok -v"
- name: VM - Default user
run: vagrant ssh -c "whoami"
- name: VM - Default folder
run: vagrant ssh -c "pwd"
- name: VM - Shutdown
run: vagrant halt
- name: VM - Package box
run: vagrant package
- name: Vagrant Cloud - Create release ${{ env.VAGRANT_CLOUD_BOX_VERSION }}
run: |
curl \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $VAGRANT_CLOUD_ACCESS_TOKEN" \
https://app.vagrantup.com/api/v1/box/$VAGRANT_CLOUD_USERNAME/$VAGRANT_CLOUD_BOX_NAME/versions \
--data '
{
"version": {
"version": "'"$VAGRANT_CLOUD_BOX_VERSION"'",
"description": "Box automatically released based on this repository: https://github.com/pedrofurtado/vagrant-ubuntu-workspace"
}
}
'
- name: Vagrant Cloud - Create VirtualBox provider for release ${{ env.VAGRANT_CLOUD_BOX_VERSION }}
run: |
curl \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $VAGRANT_CLOUD_ACCESS_TOKEN" \
https://app.vagrantup.com/api/v1/box/$VAGRANT_CLOUD_USERNAME/$VAGRANT_CLOUD_BOX_NAME/version/$VAGRANT_CLOUD_BOX_VERSION/providers \
--data '
{
"provider": {
"name": "virtualbox"
}
}
'
- name: Vagrant Cloud - Upload box for release ${{ env.VAGRANT_CLOUD_BOX_VERSION }}
run: |
response=$(curl \
--header "Authorization: Bearer $VAGRANT_CLOUD_ACCESS_TOKEN" \
https://app.vagrantup.com/api/v1/box/$VAGRANT_CLOUD_USERNAME/$VAGRANT_CLOUD_BOX_NAME/version/$VAGRANT_CLOUD_BOX_VERSION/provider/virtualbox/upload)
upload_path=$(echo $response | jq -r .upload_path)
curl \
$(echo $response | jq -r .upload_path) \
--request PUT \
--upload-file package.box
- name: Vagrant Cloud - Publish release ${{ env.VAGRANT_CLOUD_BOX_VERSION }}
run: |
curl \
--header "Authorization: Bearer $VAGRANT_CLOUD_ACCESS_TOKEN" \
https://app.vagrantup.com/api/v1/box/$VAGRANT_CLOUD_USERNAME/$VAGRANT_CLOUD_BOX_NAME/version/$VAGRANT_CLOUD_BOX_VERSION/release \
--request PUT