builds.scss 5.83 KB
@keyframes fade-out-status {
  0%,
  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes blinking-dot {
  0% {
    opacity: 1;
  }

  25% {
    opacity: 0.4;
  }

  75% {
    opacity: 0.4;
  }

  100% {
    opacity: 1;
  }
}

@keyframes blinking-scroll-button {
  0% {
    opacity: 0.2;
  }

  25% {
    opacity: 0.5;
  }

  50% {
    opacity: 0.7;
  }

  100% {
    opacity: 1;
  }
}

.build-page {
  .build-trace-container {
    position: relative;
  }


  .build-trace {
    @include build-trace();
  }

  .archived-sticky {
    top: $header-height;
    border-radius: 2px 2px 0 0;
    color: $orange-600;
    background-color: $orange-100;
    border: 1px solid $border-gray-normal;
    border-bottom: 0;
    padding: 3px 12px;
    margin: auto;
    align-items: center;

    .with-performance-bar & {
      top: $header-height + $performance-bar-height;
    }
  }

  .top-bar {
    @include build-trace-top-bar(35px);

    &.has-archived-block {
      top: $header-height + $performance-bar-height + 28px;
    }

    &.affix {
      top: $header-height;

      // with sidebar
      &.sidebar-expanded {
        right: 306px;
        left: 16px;
      }

      // without sidebar
      &.sidebar-collapsed {
        right: 16px;
        left: 16px;
      }
    }

    &.affix-top {
      position: absolute;
      right: 0;
      left: 0;
      top: 0;
    }

    .truncated-info {
      .truncated-info-size {
        margin: 0 5px;
      }

      .raw-link {
        color: $gl-text-color;
        margin-left: 5px;
        text-decoration: underline;
      }
    }

    .controllers {
      @include build-controllers(15px, center, false, 0, inline, 0);
    }
  }

  .environment-information {
    border: 1px solid $border-color;
    padding: 8px $gl-padding 12px;
    border-radius: $border-radius-default;

    svg {
      position: relative;
      top: 5px;
      margin-right: 5px;
      width: 22px;
      height: 22px;
    }
  }

  .build-loader-animation {
    @include build-loader-animation;
    float: left;
  }
}

.with-performance-bar .build-page {
  .top-bar.affix {
    top: $header-height + $performance-bar-height;
  }
}

.build-header {
  .ci-header-container,
  .header-action-buttons {
    display: flex;
  }

  .ci-header-container {
    min-height: 54px;
  }

  .page-content-header {
    padding: 10px 0 9px;
  }

  .header-action-buttons {
    @include media-breakpoint-down(xs) {
      .sidebar-toggle-btn {
        margin-top: 0;
        margin-left: 10px;
        max-height: 34px;
      }
    }
  }

  .header-content {
    a {
      color: $gl-text-color;

      &:hover {
        color: $blue-600;
        text-decoration: none;
      }
    }
  }

  code {
    color: $code-color;
  }

  .avatar {
    float: none;
    margin-right: 2px;
    margin-left: 2px;
  }
}

.right-sidebar.build-sidebar {
  padding: 0;

  &.right-sidebar-collapsed {
    display: none;
  }

  .sidebar-container {
    width: calc(100% + 100px);
    padding-right: 100px;
    height: 100%;
    overflow-y: scroll;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }

  .blocks-container {
    padding: 0 $gl-padding;
    width: 289px;
  }

  .block {
    width: 100%;
    word-break: break-word;

    &:last-child {
      border-bottom: 1px solid $border-gray-normal;
    }

    &.coverage {
      padding: 0 16px 11px;
    }
  }

  .block-last {
    padding: 16px 0;
  }

  .trigger-variables-btn-container {
    @extend .d-flex;
    justify-content: space-between;
    align-items: center;
  }

  .trigger-build-variables {
    margin: 0;
    overflow-x: auto;
    width: 100%;
    -ms-overflow-style: scrollbar;
    -webkit-overflow-scrolling: touch;
  }

  .trigger-build-variable {
    font-weight: $gl-font-weight-normal;
    color: $code-color;
  }

  .trigger-build-value {
    padding: 2px 4px;
    color: $black;
  }

  .trigger-variables-table-cell {
    font-size: $gl-font-size-small;
    line-height: $gl-line-height;
    border: 1px solid $theme-gray-200;
    padding: $gl-padding-4 6px;
    width: 50%;
  }

  .badge.badge-pill {
    margin-left: 2px;
  }

  .retry-link {
    display: none;

    .btn-inverted-secondary {
      color: $blue-500;

      &:hover {
        color: $white-light;
      }
    }

    @include media-breakpoint-down(sm) {
      display: block;

      .btn {
        i {
          margin-left: 5px;
        }
      }
    }
  }

  .stage-item {
    cursor: pointer;

    &:hover {
      color: $gl-text-color;
    }
  }

  .builds-container {
    background-color: $white-light;
    border-top: 1px solid $border-color;
    border-bottom: 1px solid $border-color;
    max-height: 300px;
    width: 289px;
    overflow: auto;

    svg {
      position: relative;
      top: 3px;
      margin-right: 3px;
      height: 14px;
      width: 14px;
    }

    a {
      display: block;
      padding: $gl-padding 10px $gl-padding 40px;
      width: 270px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;

      &:hover {
        color: $gl-text-color;
      }
    }

    .build-job {
      position: relative;

      .icon-arrow-right {
        position: absolute;
        left: 15px;
        top: 20px;
        display: block;
      }

      &.active {
        font-weight: $gl-font-weight-bold;
      }

      &.retried {
        background-color: $gray-lightest;
      }

      &:hover {
        background-color: $gray-darker;
      }

      .icon-retry {
        margin-left: 3px;
      }
    }
  }

  .link-commit {
    color: $blue-600;
  }
}

.build-sidebar {
  .container-fluid.container-limited {
    max-width: 100%;
  }

  .content-wrapper {
    padding-bottom: 6px;
  }
}

.build-detail-row {
  margin-bottom: 5px;

  &:last-of-type {
    margin-bottom: 0;
  }
}

.build-light-text {
  color: $gl-text-color-secondary;
  word-wrap: break-word;
}

.build-gutter-toggle {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -17px;
}