diff --git a/.github/workflows/develop-image.yml b/.github/workflows/develop-image.yml index b89ce97b6..ba37899e9 100644 --- a/.github/workflows/develop-image.yml +++ b/.github/workflows/develop-image.yml @@ -40,8 +40,113 @@ jobs: sh ./setup.sh --local sh ./build.sh --system --parallel --upload --release + buildMacos14FastS3: + + runs-on: macos-14 + environment: Integration + + steps: + - uses: actions/checkout@v4 + + # this is to fix GIT not liking owner of the checkout dir + - name: Set ownership + run: | + chown -R $(id -u):$(id -g) $PWD + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v2 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Symlink for libtool + run: | + ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize + ln -s /usr/local/bin/glibtool /usr/local/bin/libtool + + - name: Add libraries to PATH + run: | + echo "LIBRARY_PATH=$(brew --prefix)/lib:$(brew --prefix)/opt:$(brew --prefix)/include" >> $GITHUB_ENV + + - name: Deploy to S3 + run: | + sh ./setup.sh --local + sh ./build.sh --system --parallel --upload --release + + buildMacos15FastS3: + + runs-on: macos-15 + environment: Integration + + steps: + - uses: actions/checkout@v4 + + # this is to fix GIT not liking owner of the checkout dir + - name: Set ownership + run: | + chown -R $(id -u):$(id -g) $PWD + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v2 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Symlink for libtool + run: | + ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize + ln -s /usr/local/bin/glibtool /usr/local/bin/libtool + + - name: Add libraries to PATH + run: | + echo "LIBRARY_PATH=$(brew --prefix)/lib:$(brew --prefix)/opt:$(brew --prefix)/include" >> $GITHUB_ENV + + - name: Deploy to S3 + run: | + sh ./setup.sh --local + sh ./build.sh --system --parallel --upload --release + buildUbuntu22FastS3: + runs-on: ubuntu-22.04 + environment: Integration + container: + image: ubuntu:jammy + + steps: + # this is to fix GIT not liking owner of the checkout dir + - name: Set ownership and prep container + run: | + mkdir -p /usr/local/var + apt-get update && apt-get install -y apt-transport-https + apt-get install -y git curl nano sudo zip + curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" + unzip awscliv2.zip + sudo ./aws/install + + - uses: actions/checkout@v4 + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v2 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Deploy to S3 + run: | + sudo aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY }} && sudo aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }} && sudo aws configure set default.region ${{ secrets.AWS_REGION }} + export GIT_DISCOVERY_ACROSS_FILESYSTEM=1 + chown -R root $PWD + sudo sh ./setup.sh --local + sudo sh ./build.sh --system --parallel + gridlabd python -m pip install awscli + sudo sh ./build.sh --upload --release + + buildUbuntu24FastS3: + runs-on: ubuntu-24.04 environment: Integration container: @@ -80,7 +185,7 @@ jobs: buildAWSUbuntuAMI: runs-on: ubuntu-24.04 environment: Integration - needs: [buildUbuntu22FastS3,buildMacos13FastS3] + needs: [buildUbuntu22FastS3,buildUbuntu24FastS3,buildMacos13FastS3] steps: - uses: actions/checkout@v4 @@ -130,7 +235,7 @@ jobs: runs-on: ubuntu-latest environment: Integration - needs: buildUbuntu22FastS3 + needs: buildUbuntu24FastS3 steps: - name: Checkout code diff --git a/.github/workflows/master-image.yml b/.github/workflows/master-image.yml index d9df8f11c..0c841dc9a 100644 --- a/.github/workflows/master-image.yml +++ b/.github/workflows/master-image.yml @@ -40,8 +40,113 @@ jobs: sh ./setup.sh --local sh ./build.sh --system --parallel --upload --release + buildMacos14FastS3: + + runs-on: macos-14 + environment: Integration + + steps: + - uses: actions/checkout@v4 + + # this is to fix GIT not liking owner of the checkout dir + - name: Set ownership + run: | + chown -R $(id -u):$(id -g) $PWD + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v2 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Symlink for libtool + run: | + ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize + ln -s /usr/local/bin/glibtool /usr/local/bin/libtool + + - name: Add libraries to PATH + run: | + echo "LIBRARY_PATH=$(brew --prefix)/lib:$(brew --prefix)/opt:$(brew --prefix)/include" >> $GITHUB_ENV + + - name: Deploy to S3 + run: | + sh ./setup.sh --local + sh ./build.sh --system --parallel --upload --release + +buildMacos15FastS3: + + runs-on: macos-15 + environment: Integration + + steps: + - uses: actions/checkout@v4 + + # this is to fix GIT not liking owner of the checkout dir + - name: Set ownership + run: | + chown -R $(id -u):$(id -g) $PWD + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v2 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Symlink for libtool + run: | + ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize + ln -s /usr/local/bin/glibtool /usr/local/bin/libtool + + - name: Add libraries to PATH + run: | + echo "LIBRARY_PATH=$(brew --prefix)/lib:$(brew --prefix)/opt:$(brew --prefix)/include" >> $GITHUB_ENV + + - name: Deploy to S3 + run: | + sh ./setup.sh --local + sh ./build.sh --system --parallel --upload --release + buildUbuntu22FastS3: + runs-on: ubuntu-22.04 + environment: Integration + container: + image: ubuntu:jammy + + steps: + # this is to fix GIT not liking owner of the checkout dir + - name: Set ownership and prep container + run: | + mkdir -p /usr/local/var + apt-get update && apt-get install -y apt-transport-https + apt-get install -y git curl nano sudo zip + curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" + unzip awscliv2.zip + sudo ./aws/install + + - uses: actions/checkout@v4 + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v2 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Deploy to S3 + run: | + sudo aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY }} && sudo aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }} && sudo aws configure set default.region ${{ secrets.AWS_REGION }} + export GIT_DISCOVERY_ACROSS_FILESYSTEM=1 + chown -R root $PWD + sudo sh ./setup.sh --local + sudo sh ./build.sh --system --parallel + gridlabd python -m pip install awscli + sudo sh ./build.sh --upload --release + + buildUbuntu24FastS3: + runs-on: ubuntu-24.04 environment: Integration container: @@ -80,7 +185,7 @@ jobs: buildAWSUbuntuAMI: runs-on: ubuntu-24.04 environment: Integration - needs: [buildUbuntu22FastS3,buildMacos13FastS3] + needs: [buildUbuntu22FastS3,buildUbuntu24FastS3,buildMacos13FastS3] steps: - uses: actions/checkout@v4 diff --git a/install/ubuntu_24.sh b/install/ubuntu_24.sh new file mode 100644 index 000000000..ada2eebdc --- /dev/null +++ b/install/ubuntu_24.sh @@ -0,0 +1,17 @@ +apt update +apt install curl -y +. /etc/os-release + +LATEST=$(curl -sL http://install.gridlabd.us/master.txt) + +curl -sL https://install.gridlabd.us/ + +apt-get install git -y +git clone https://github.com/$GRIDLABD_ORG/$GRIDLABD_REPO -b $GRIDLABD_BRANCH --depth 1 gridlabd + +cd /gridlabd +. $HOME/.gridlabd/bin/activate +autoreconf -isf +./configure +make -j$(($(nproc)*3)) system +gridlabd -T 0 --validate