Skip to content

wip 1719942912

wip 1719942912 #45

name: Publish Habitat Packages
on:
push:
# JAH: trigger more appropriately once development is done
# branches:
# - main
# release:
# types:
# - created
env:
BLDR_URL: 'https://bldr.habitat.sh/'
# HAB_ORIGIN: 'habitat'
HAB_ORIGIN: 'jasonheath'
HAB_AUTH_TOKEN: ${{ secrets.HAB_AUTH_TOKEN }}
HABITAT_VERSION_SET: 'latest'
HAB_STUDIO_SECRET_GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
permissions:
contents: write
jobs:
# These components either have a plan.sh file or a habitat plan directory
simple-packages:
name: ${{matrix.components}} (plan.sh or habitat dir)
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
channel: [unstable]
components: [builder-memcached, builder-datastore, builder-graph, builder-minio]
# components: [builder-memcached, builder-datastore]
# components: [builder-graph, builder-minio]
runs-on: ${{matrix.os}}
steps:
- name: Checkout for ${{matrix.components}}
uses: actions/checkout@v4
- name: Install Habitat for ${{matrix.components}}
uses: ./.github/actions/hab-install-linux
- name: Build and Upload Habitat Package for ${{matrix.components}}
uses: ./.github/actions/hab-pkg-build-and-upload-linux
with:
hab-auth-token: ${{ env.HAB_AUTH_TOKEN }}
hab-origin: ${{ env.HAB_ORIGIN }}
bldr-component: components/${{matrix.components}}
# These components have architecture specific plan directories
architecture-packages:
name: ${{matrix.arches}} ${{matrix.components}}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
channel: [unstable]
components: [builder-worker]
arches: [x86_64-linux, x86_64-linux-kernel2, x86_64-windows]
exclude:
- os: ubuntu-latest
arches: x86_64-windows
- os: windows-latest
arches: x86_64-linux
- os: windows-latest
arches: x86_64-linux-kernel2
runs-on: ${{matrix.os}}
steps:
- name: Checkout
uses: actions/checkout@v4
- if: ${{ matrix.os == 'ubuntu-latest' && matrix.arches != 'x86_64-windows' }}
name: Install Habitat
uses: ./.github/actions/hab-install-linux
- if: ${{ matrix.os == 'windows-latest' && matrix.arches == 'x86_64-windows' }}
name: Install Habitat
uses: ./.github/actions/hab-install-windows
- if: ${{ matrix.os == 'ubuntu-latest' && matrix.arches != 'x86_64-windows' }}
name: Build and Upload Habitat Package
uses: ./.github/actions/hab-pkg-build-and-upload-linux
with:
hab-auth-token: ${{ env.HAB_AUTH_TOKEN }}
hab-origin: ${{ env.HAB_ORIGIN }}
bldr-component: components/${{matrix.components}}/habitat/${{matrix.arches}}
- if: ${{ matrix.os == 'windows-latest' && matrix.arches == 'x86_64-windows' }}
name: Build and Upload Habitat Package
uses: ./.github/actions/hab-pkg-build-and-upload-windows
with:
hab-auth-token: ${{ env.HAB_AUTH_TOKEN }}
hab-origin: ${{ env.HAB_ORIGIN }}
bldr-component: components/${{matrix.components}}/habitat/${{matrix.arches}}
app-version: ${{ needs.pre-build.outputs.app_version }}
build-date-time: ${{ needs.pre-build.outputs.date }}
# These components have a plan in a habitat-dev directory which is to be built
# after building a package from a plan in a habitat directory
habitat-dev-dir-packages:
name: ${{matrix.components}} (habitat and habitat-dev dirs)
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
channel: [unstable]
components: [builder-jobsrv]
# components: [builder-api, builder-api-proxy, builder-jobsrv, builder-worker]
runs-on: ${{matrix.os}}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Habitat
uses: ./.github/actions/hab-install-linux
- name: ${{matrix.components}} habitat directory package
uses: ./.github/actions/hab-pkg-build-and-upload-linux
with:
hab-auth-token: ${{ env.HAB_AUTH_TOKEN }}
hab-origin: ${{ env.HAB_ORIGIN }}
bldr-component: components/${{matrix.components}}/habitat
- name: hab pkg path experiments
shell: bash
run: |
echo ---- BEGIN hab pkg path EXPERIMENTS
echo ---- hab pkg path $pkg_origin/$pkg_name
source results/last_build.env
hab pkg path $pkg_origin/$pkg_name
echo ---- END hab pkg path EXPERIMENTS
- name: ${{matrix.components}} habitat-dev directory package
uses: ./.github/actions/hab-pkg-build-and-upload-linux
with:
hab-auth-token: ${{ env.HAB_AUTH_TOKEN }}
hab-origin: ${{ env.HAB_ORIGIN }}
bldr-component: components/${{matrix.components}}/habitat-dev
# JAH: trigger appropriately
# JAH: Set the hab_auth_token more appropriately
# JAH: stop using jasonheath origin
# JAH: fix broken builder-api-proxy