Skip to content

Implement socket operations in Inko #1237

Implement socket operations in Inko

Implement socket operations in Inko #1237

Workflow file for this run

---
name: Push
on:
push:
branches:
- '**'
workflow_dispatch:
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
CARGO_HOME: ${{ github.workspace }}/.cargo-home
# We set an explicit version to only install the components we need for CI.
RUSTUP_TOOLCHAIN: '1.78'
jobs:
tests:
name: Tests
uses: ./.github/workflows/tests.yml
nightly-container:
name: Nightly container
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
needs:
- tests
if: github.ref_name == 'main'
steps:
- uses: actions/checkout@v4
- uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: docker/metadata-action@v5
id: meta
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
docs:
name: Documentation
runs-on: ubuntu-latest
container:
image: ghcr.io/inko-lang/inko:latest
env:
RCLONE_S3_ACCESS_KEY_ID: ${{ secrets.CLOUDFLARE_ACCESS_KEY_ID }}
RCLONE_S3_SECRET_ACCESS_KEY: ${{ secrets.CLOUDFLARE_SECRET_ACCESS_KEY }}
RCLONE_S3_ENDPOINT: https://${{ secrets.CLOUDFLARE_ACCOUNT_ID }}.r2.cloudflarestorage.com
needs:
- tests
if: github.ref_name == 'main'
steps:
- name: Install dependencies
run: microdnf install --quiet --assumeyes rclone git tar make
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: '~/.local/share/inko/packages'
key: docs-main-${{ hashFiles('docs/inko.pkg') }}
- run: git config --global --add safe.directory $PWD
- name: Deploy the documentation
run: make docs/publish
std-docs:
name: Standard library documentation
runs-on: ubuntu-latest
container:
image: ghcr.io/inko-lang/ci:fedora
env:
RCLONE_S3_ACCESS_KEY_ID: ${{ secrets.CLOUDFLARE_ACCESS_KEY_ID }}
RCLONE_S3_SECRET_ACCESS_KEY: ${{ secrets.CLOUDFLARE_SECRET_ACCESS_KEY }}
RCLONE_S3_ENDPOINT: https://${{ secrets.CLOUDFLARE_ACCOUNT_ID }}.r2.cloudflarestorage.com
needs:
- tests
if: |
github.ref_name == 'main'
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: '${{ env.CARGO_HOME }}'
key: std-docs-main-${{ hashFiles('Cargo.lock', 'rust-toolchain.toml') }}
- run: git config --global --add safe.directory $PWD
- name: Deploy the documentation
run: make std-docs/publish